别让黑客有机可乘!立即了解CVE-2024-6387对OpenSSH的影响与防护措施

概述

CVE-2024-6387是一个影响OpenSSH的远程代码执行(RCE)漏洞。该漏洞存在于OpenSSH服务器(sshd)的信号处理程序中,由于在处理SIGALRM信号时的竞争条件,攻击者可以利用该漏洞执行任意代码。该漏洞主要影响基于glibc的Linux系统。

受影响版本8.5p1 <= OpenSSH < 9.8p1

详细的漏洞情况请查阅该篇文章

漏洞原理

当客户端在LoginGraceTime(默认120秒,旧版本600秒)内未能完成身份验证时,sshd会异步调用SIGALRM处理程序。由于信号处理的竞争条件,攻击者可以通过特定的时间窗口注入恶意代码,实现远程代码执行。表 1 显示了与 CVE-2024-6387 关联的易受攻击版本。

受影响范围

使用 Palo Alto Networks Xpanse 数据,我们观察到 2300 万个 OpenSSH 服务器实例,包括所有版本。截至 2024 年 7 月 1 日,全球有超过 700 万个暴露的 OpenSSH 版本 8.5p1-9.7p1 实例。包括旧版本(4.3p1 及更早版本),我们总共看到 730 万。但是,这可能是对易受攻击版本的过度计算,因为没有可靠的方法来解释向后移植,其中实例正在运行修补版本但显示受影响的版本号。这些数字也不考虑漏洞可能需要的操作系统级规范或配置。表 2 显示了我们对易受攻击版本 8.5p1-9.7p1 的观察结果的地理分布。

漏洞复现

shell 复制代码
Fofa:protocol="ssh"
quake:app:"OpenSSH"
hunter:app.name="OpenSSH"

该漏洞在github上,大神也发布了poc,如下图:

使用方法也是很简单,不过,该漏洞攻击时间很长,在linux虚拟机环境"平均需要尝试约10,000次才能成功复现,约需3小时左右。

  1. 把上述的poc克隆到kali主机上,如下图
  1. 该poc采用C语言编程,所以,我们需要编译。如下图:
  1. 如何利用该poc,执行如下命令:
shell 复制代码
./cve-2024-6387 <ip> <port>
例如:
./cve-2024-6387 192.168.31.19 22

执行完命令后,如下图的输出:

修补方案

升级 OpenSSH 到最新版本

要有效解决此漏洞,请升级到最新的 OpenSSH 版本,其中包括必要的修复程序。保持 OpenSSH 安装最新对于安全和防范已知漏洞至关重要。

官方已发布最新版本修复该漏洞,请受影响客户将Openssh更新到安全版本:OpenSSH > 9.8p1。下载链接:

  • https://www.openssh.com/releasenotes.html

Debian解决方案

  • https://security-tracker.debian.org/tracker/CVE-2024-6387

Ubuntu解决方案

  • https://ubuntu.com/security/notices/USN-6859-1

Redhat解决方案

  • https://access.redhat.com/security/cve/cve-2024-6387

实施临时解决方法

如果无法立即升级,您可以通过在 OpenSSH 配置文件中将 LoginGraceTime 参数设置为 0 来降低风险。这样可以防止未经身份验证的会话保持打开状态并被利用。但是,如果所有连接插槽都被占用,此设置可能会导致拒绝服务。

通过使用seccomp(安全计算模式)

添加额外的安全层,可以进一步减轻风险。seccomp限制了sshd进程可以执行的系统调用,从而限制了攻击面并减少了利用不安全函数(如syslog())的可能性。实现seccomp确保即使触发了漏洞,攻击者执行任意代码的能力也会显著受限。

通过遵循这些缓解策略,您可以保护系统免受此漏洞的影响,并增强OpenSSH配置的整体安全性。

结论

CVE-2024-6387(又名 RegreSSHion)是基于 glibc 的 Linux 系统上 OpenSSH 服务器 (sshd) 中的信号处理程序争用条件漏洞。此漏洞的严重等级为"高"(CVSS 8.1),并可能导致具有 root 权限的未经身份验证的远程代码执行 (RCE)。

相关推荐
Diamond技术流11 小时前
从0开始学习Linux——远程连接工具
linux·学习·centos·ssh·xshell·ftp
恒创科技HK2 天前
ssh和ssl的区别在哪些方面?
运维·ssh·ssl
上烟雨心上尘2 天前
通过 ssh config 快速免密连接服务器
运维·服务器·ssh
就叫你天选之人啦3 天前
vscode ssh连接autodl失败
linux·ide·笔记·vscode·ssh
Linux运维日记3 天前
Rocky Linux 9安装后无法远程ssh密码登录解决
linux·运维·ssh
yunteng5213 天前
VisualStudio远程编译调试linux_c++程序(二)
linux·c++·ssh·gdb·visual studio·remote
mhl11073 天前
Linux 上安装 conda 步骤实现
linux·运维·ubuntu·centos·ssh·conda·运维开发
会飞的爱迪生4 天前
只允许指定ip远程连接ssh
服务器·ssh
iTarget4 天前
使用ssh-key免密登录服务器或免密连接git代码仓库网站
运维·git·ssh
Echo.py4 天前
服务器开启SSH允许远程连接服务
运维·服务器·ssh