一、OpenSSH介绍:
OpenSSH(Open Secure Shell)是一套开源工具,用于加密网络通信,提供安全的远程登录、文件传输和端口转发功能。它实现了SSH协议,确保网络通信的机密性和完整性,有效防止窃听和中间人攻击。OpenSSH常用于Linux、BSD和macOS等操作系统,支持多种身份验证方式,如密码、公开密钥和双因素认证。该套件包含如ssh、scp和sftp等常用工具,是系统管理员和用户确保安全连接的首选。
二、漏洞描述:
OpenSSH 远程代码执行漏洞(CVE-2024-6387),该漏洞是由于OpenSSH服务器 (sshd) 中的信号处理程序竞争问题,未经身份验证的攻击者可以利用此漏洞在Linux系统上以root身份执行任意代码。
受影响版本8.5p1 <= OpenSSH < 9.8p1
三、漏洞复现:
01.fofa语句
protocol="ssh"
02.POC地址
https://github.com/zgzhang/cve-2024-6387-poc
https://github.com/acrono/cve-2024-6387-poc
https://github.com/lflare/cve-2024-6387-poc
需要将代码编译成可执行文件。假设文件名为exploit.c
,使用以下命令进行编译
gcc -o exploit exploit.c
./exploit
例如:
./exploit 192.168.1.100 22
解决办法。升级到最新的ssh版本9.8p1
如来不及修复,可运行以下脚本解决:
#ssh安全加固
grep 'LoginGraceTime' /etc/ssh/sshd_config
sed -i "s/#LoginGraceTime 2m/LoginGraceTime 0/g" /etc/ssh/sshd_config
grep 'LoginGraceTime' /etc/ssh/sshd_config
service sshd restart
/bin/systemctl restart sshd.service
*修复原理
“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。