OpenSSH远程代码执行漏洞 (CVE-2024-6387)

张裕  金牌会员 | 2024-7-11 21:21:39 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 360|帖子 360|积分 1080

1. 媒介

OpenSSH是一套基于安全外壳(SSH)协议的安全网络实用程序,它提供强大的加密功能以确保隐私和安全的文件传输,使其成为远程服务器管理和安全数据通信的必备工具。
OpenSSH 自 1995 年问世近 20 年来,首次出现了未履历证的远程执行(RCE)漏洞,攻击者可以提权至 root 最高权限,在不必要用户交互的情况下执行恣意代码。
该漏洞是由于OpenSSH服务器 (sshd) 中的信号处置惩罚程序竞争题目,未经身份验证的攻击者可以利用此漏洞在Linux体系上以root身份执行恣意代码。
2. 漏洞信息

2.1 发现

该漏洞于本年 5 月被网络安全公司 Qualys 发现,追踪编号为 CVE-2024-6387,存在于 OpenSSH 服务器(sshd)中,由于信号处置惩罚器竞赛条件存在缺陷,可以让未经认证的远程攻击者以 root 用户身份执行恣意代码。
2.2 相干公告

Debian 安全公告:
假如客户端没有在 LoginGraceTime 秒(默认为 120 秒)内通过身份验证,那么 sshd 的 SIGALRM 处置惩罚程序就会被异步调用,并调用各种不安全的异步信号函数。
Qualys 公司的公告:
攻击者利用该漏洞,可以让体系全面瘫痪,以 root 最高级别权限全面接管体系,安装恶意软件、篡改数据和创建后门便于后续访问等等。
而且攻击者可以利用该漏洞发起连锁攻击,以已经被入侵的体系为立足点,辐射攻击网络中其它存在题目标设备。
奇安信公司的安全风险告示:

2.2技术细节

以下是我对Qualys 提供的技术文档的总结。
CVE-2024-6387是一个影响OpenSSH服务器的漏洞(sshd),存在于glibc底子的Linux体系上。这一漏洞源于一个信号处置惩罚竞态条件,当客户端未在指定的LoginGraceTime秒内完成认证时,sshd的SIGALRM信号处置惩罚程序会被异步调用,而这个信号处置惩罚程序调用了非异步信号安全的函数(如syslog())。这个漏洞的重现泉源于2006年报道的CVE-2006-5051漏洞。
影响版本



  • OpenSSH < 4.4p1:若未对CVE-2006-5051完成补丁,容易受到这个信号处置惩罚竞态条件的影响。
  • 4.4p1 <= OpenSSH < 8.5p1:不受此漏洞影响。
  • 8.5p1 <= OpenSSH < 9.8p1:由于2020年10月的一个错误提交重新引入了这个漏洞。
漏洞细节及利用



  • 信号处置惩罚竞态条件:当sshd的LoginGraceTime到期后,其SIGALRM处置惩罚程序会调用syslog()等非异步信号安全的函数,从而导致潜在的远程代码执行(RCE)。
利用方式


  • 理论研究

    • 找到一个有用的代码路径,假如在精确的时间被SIGALRM打断,那么sshd会处于一种不一致的状态,然后利用这种不一致状态进行攻击。

  • 实践履历

    • 通过中断sshd的公钥剖析代码中的free()调用,造成堆中内存状态不一致。
    • 利用这种不一致状态在SIGALRM处置惩罚程序的另一个free()调用中实现远程代码执行。

时间策略



  • 旧版本攻击

    • SSH-2.0-OpenSSH_3.4p1:通过实践发现均匀必要约10,000次尝试来赢得竞态条件,终极约莫必要一周时间获得远程root shell。
    • SSH-2.0-OpenSSH_4.2p1:类似的方法约莫必要1-2天获得远程root shell。

  • 当代版本攻击

    • SSH-2.0-OpenSSH_9.2p1

      • 在SIGALRM中断malloc()调用,造成堆内存不一致。
      • 利用不一致内存状态在SIGALRM处置惩罚程序中的另一个malloc()调用(尤其在syslog()内部)。
      • 均匀必要10,000次尝试约3-4小时以内实现,终极6-8小时内获得远程root shell。


针对amd64的利用前景



  • 筹划针对Rocky Linux 9进行攻击,利用glibc映射的所在特点及malloc系列函数的漏洞进行远程代码执行。
修复与缓解



  • 官方修复:2024年6月6日的commit(81c1099)修复了这一漏洞,改进了sshd信号处置惩罚的机制。
  • 临时办理方案:对于无法立即更新或重编译的体系,可以通过设置LoginGraceTime为0到临时规避远程代码执行题目,但会造成潜在的拒绝服务(DoS)风险。
2.3 漏洞利用

尽管该漏洞很严峻,但 Qualys 称 regreSSHion 很难被利用,必要多次尝试才能实现必要的内存粉碎。
Qualys 的技术文件对漏洞利用的描述如下:
由于该漏洞的远程竞态条件性子,使得利用它变得具有挑战性,必要多次尝试才能乐成攻击。这可能导致内存破坏,并必要克服所在空间布局随机化(ASLR)。深度学习技术的进步可能显著进步利用率,从而为攻击者在利用此类安全漏洞时提供巨大的优势。
2.4 影响版本

8.5p1 <= OpenSSH < 9.8p1
2.5 处置惩罚发起

1. 目前官方已有可更新版本,发起受影响用户升级至最新版本:
OpenSSH > 9.8p1
官方补丁下载所在:
https://www.openssh.com/releasenotes.html
2. 利用防火墙等网络控制手段限制 SSH 访问,并实施网络分段以防止横向移动(指网络攻击者或威胁活动者在搜刮终极成为攻击活动目标的关键数据和资产时用来渐渐在网络中移动的技术)。
3. 假如 OpenSSH 服务器无法立即更新,可在 sshd 设置文件中将 "LoginGraceTime" 设置为 0,但要注意这可能会使服务器遭受拒绝服务攻击。

末了

这个漏洞影响极广,因为openSSH被广泛利用。漏洞乐成利用后的影响也是极大的,因为可以以root身份执行恣意代码。但是同时我们也发现这个漏洞利用难度很大,必要多次尝试才能实现攻击。
在如今AI时间,深度学习技术的加持可以帮助黑客显著进步漏洞利用乐成率,所以这个漏洞我们不容轻蔑。

参考资料

Qualys博客:
regreSSHion: Remote Unauthenticated Code Execution Vulnerability in OpenSSH server | Qualys Security Blog
题目代码:
whttps://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt
奇安信CERT
OpenSSH 远程代码执行漏洞(CVE-2024-6387)安全风险告示 (qq.com)
阿里云漏洞库
阿里云漏洞库
IT之家


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表