龙空技术网

新OpenSSH漏洞CVE-2023-38408使Linux系统遭受远程命令注入RCE

俊杰说黑客 2724

前言:

现时姐妹们对“ubuntu生成ssh公钥”大约比较关心,小伙伴们都需要剖析一些“ubuntu生成ssh公钥”的相关知识。那么小编同时在网上搜集了一些关于“ubuntu生成ssh公钥””的相关内容,希望看官们能喜欢,各位老铁们快快来了解一下吧!

OpenSSH ssh-agent 远程代码执行漏洞 且技术细节和poc已公开 #安全漏洞#

OpenSSH 是Secure Shell (SSH)协议的开源版本,提供一整套服务,旨在在客户端-服务器框架内的不安全网络上实现加密通信。 作为安全网络交互的重要组成部分,OpenSSH 是许多单位和企业网络防御策略的重要工具。

ssh-agent在这种情况下发挥着重要作用。它是一个辅助程序,通过跟踪用户的身份密钥和密码来简化用户身份验证过程。 一旦这些密钥存储在ssh-agent中,它就允许用户访问其他服务器,而无需重新输入密码,从而提供流畅的单点登录(SSO)体验。

该漏洞正在 CVE 标识符CVE-2023-38408下进行跟踪(CVSS 评分:N/A)。它影响9.3p2之前的所有 OpenSSH 版本。

重点是OpenSSH的所有版本 (CVE-2023-38408)

概述

CVE-2023-38408是一个远程代码执行漏洞,位于 ssh-agent 的转发功能内,特别是涉及提供PKCS#11相关服务的情况下。在某些条件下,可以操纵ssh-agent对PKCS#11的支持,以便通过转发的代理套接字来促进远程代码执行。利用的先决条件包括受害者系统上存在特定库以及需要将代理转发到攻击者控制的系统。

OpenSSH代理转发

ssh-agent是一个后台程序,可缓存用于SSH公钥身份验证的私钥,从而减少常规密码输入的需要。它在X或登录会话开始时启动,通过将密钥存储在内存中并仅在进程结束时卸载来进行操作。

它在自动化脚本或需要频繁服务器连接的任务中非常有用,因为它可以防止不安全的密码存储或持续的密码短语输入。到ssh-agent的连接可以从更远的远程转发,以避免需要将身份验证数据存储在其他机器上。尽管如此,使用强大的密码来保护密钥仍然至关重要。

潜在影响

利用此漏洞允许远程攻击者可以在受漏洞影响的OpenSSH转发的ssh-agent上执行任意命令。Qualys安全研究人员已经能够独立验证该漏洞并在Ubuntu Desktop 22.04和21.10的安装上开发PoC漏洞。其他#Linux#发行版可能容易受到攻击并且可能被利用。

另外根据debian官方漏洞影响范围,目前版本均受影响,其最新版本已经修复。

OpenSSH 是一种流行的连接工具,用于使用 SSH 协议进行远程登录,该协议用于加密所有流量以消除窃听、连接劫持和其他攻击。

成功利用该漏洞需要受害者系统上存在某些库,并且 SSH 身份验证代理将转发到攻击者控制的系统。SSH 代理是一个后台程序,可在内存中维护用户的密钥并方便远程登录服务器,而无需再次输入密码。

“在浏览 ssh-agent 的源代码时,我们注意到,有权访问 Alice 的 ssh-agent 转发到的远程服务器的远程攻击者可以加载 (dlopen()) 并立即卸载 (dlclose()) Alice 工作站上 /usr/lib* 中的任何共享库(通过她转发的 ssh-agent,如果它是使用默认的 ENABLE_PKCS11 编译的),”Qualys 解释道。

受影响版本为openssl5.5 < OpenSSH <= 9.3p1,openssl 9.3p1之前的版本都是不安全的

该网络安全公司表示,它能够设计出针对 Ubuntu Desktop 22.04 和 21.10 默认安装的成功概念验证 (PoC),尽管其他 Linux 发行版预计也容易受到攻击。

Linux 发行版众多如Centos 、redhat等版本

强烈建议 OpenSSH 用户更新到最新版本,以防范潜在的网络威胁。

今年 2 月初,OpenSSH 维护人员发布了一个更新,修复了一个中等严重程度的安全漏洞(CVE-2023-25136,CVSS 评分:6.5),未经身份验证的远程攻击者可以利用该漏洞修改意外的内存位置,并理论上实现代码执行。

3 月份的后续版本解决了另一个安全问题,该问题可能通过专门设计的 DNS 响应来滥用,以执行相邻堆栈数据的越界读取,并导致 SSH 客户端拒绝服务。

目前官方以发布安全修复版本,受影响用户可以升级到OpenSSH 9.3p2 及以上版本。

缓解措施:

1、使用空的 PKCS#11/FIDO allowlist 启动 ssh-agent:可以通过运行命令 ssh-agent -P '' 来启动 ssh-agent,并使用空的 allowlist。这将防止任何 PKCS#11/FIDO 提供者库被加载。

2、配置只包含特定提供者库的 allowlist:可以配置一个 allowlist,只包含信任的特定库。这样,只有这些库会被加载和使用。可以通过编辑 ssh-agent 的配置文件来实现这一点。

标签: #ubuntu生成ssh公钥