近期,OpenSSH服务器(sshd)中发现了一个严重的远程代码执行漏洞(CVE-2024-6387),被称为"regreSSHion"。这个漏洞影响了大量互联网上的SSH服务器,可能导致未经授权的远程攻击者以root权限执行任意代码。在这种背景下,spiped(开源)作为一个安全管道守护进程,为我们提供了一种额外的防御层,可以有效地缓解此类SSH漏洞的风险。
spiped的工作原理:spiped通过在SSH服务之前添加一层加密和认证,为SSH连接提供了额外的保护。它使用预共享的密钥来加密通信,这意味着即使攻击者能够利用SSH服务器的漏洞,他们仍然需要突破spiped的加密层。
使用spiped保护SSH的步骤:
安装spiped:在Ubuntu或Debian系统上,可以使用 sudo apt install spiped
安装。
生成密钥:
sudo dd if=/dev/urandom bs=32 count=1 of=/etc/ssh/spiped.key
sudo chmod 600 /etc/ssh/spiped.key
配置spiped服务:创建一个systemd服务文件 /etc/systemd/system/spiped-ssh.service
:
Copy
[Unit]
Description=Spiped for SSH
After=network.target[Service]
ExecStart=/usr/bin/spiped -d -s '[0.0.0.0]:8022' -t '[127.0.0.1]:22' -k /etc/ssh/spiped.key
Restart=always[Install]
WantedBy=multi-user.target
启动spiped服务:
Copy
sudo systemctl enable spiped-ssh.service
sudo systemctl start spiped-ssh.service
配置防火墙:阻止直接访问SSH端口(22),只允许通过spiped端口(8022)访问:
Copy
sudo ufw allow 8022/tcp
sudo ufw deny 22/tcp
sudo ufw reload
客户端配置:在客户端的 ~/.ssh/config
中添加:
Copy
Host your_server
ProxyCommand spipe -t %h:8022 -k ~/.ssh/spiped_your_server_key
通过这种配置,即使SSH服务器存在漏洞,攻击者也无法直接利用它,因为所有的连接都需要先通过spiped的加密层。这大大提高了系统的安全性。
spiped的优势:
额外的加密层:即使SSH本身存在漏洞,攻击者也需要先突破spiped的加密。
灵活性:可以轻松地在不同的服务器之间移植和部署。
简单性:相比复杂的VPN解决方案,spiped更加轻量和易于配置。
与现有系统兼容:不需要修改SSH服务器的配置。
结论:在面对如CVE-2024-6387这样的严重SSH漏洞时,spiped提供了一种简单而有效的额外防御手段。通过在SSH服务前添加这一层保护,组织可以显著降低被远程攻击的风险。然而,需要注意的是,spiped应该被视为深度防御策略的一部分,而不是唯一的安全措施。定期更新系统、应用安全补丁、实施强密码策略等基本安全实践仍然是必不可少的。
通过结合使用spiped和其他安全最佳实践,我们可以大大提高SSH服务器的安全性,为敏感的远程访问提供更强大的保护。
附录A:
有关OpenSSH"regreSSHion"漏洞(CVE-2024-6387)的主要信息:
1. 漏洞概述:
- 这是OpenSSH服务器(sshd)中的一个远程未经身份验证的代码执行(RCE)漏洞。
- 它是一个信号处理器竞争条件,允许在基于glibc的Linux系统上以root权限执行远程代码。
- 这个漏洞影响了sshd的默认配置。
2. 影响范围:
- 超过1400万个可能易受攻击的OpenSSH服务器实例暴露在互联网上。
- 约70万个外部面向互联网的实例易受攻击,占全球客户基础中所有面向互联网的OpenSSH实例的31%。
3. 受影响的版本:
- 4.4p1之前的版本(除非修补了CVE-2006-5051和CVE-2008-4109)。
- 8.5p1到9.8p1之间的版本(不包括9.8p1)。
- 4.4p1到8.5p1之间的版本不受影响。
4. 漏洞的历史:
- 这是2006年报告的CVE-2006-5051漏洞的回归。
- 该回归是在2020年10月(OpenSSH 8.5p1)引入的。
5. 潜在影响:
- 可能导致完全的系统入侵,允许攻击者以最高权限执行任意代码。
- 可能导致数据泄露、恶意软件安装、安全机制绕过等严重后果。
6. 缓解措施:
- 尽快应用可用的OpenSSH补丁。
- 限制SSH访问,加强访问控制。
- 实施网络分段和入侵检测系统。
7. 其他注意事项:
- OpenBSD系统不受此漏洞影响。
- 虽然漏洞利用具有挑战性,但深度学习的进步可能会增加成功利用的可能性。
附录B:
OpenSSH "regreSSHion"漏洞(CVE-2024-6387)的具体利用方法解读:
1. 攻击原理:
- 利用SIGALRM信号中断PAM(可插拔认证模块)相关函数的调用。
- 使PAM的结构处于不一致状态。
- 在SIGALRM处理程序中利用这种不一致状态。
2. 攻击难度:
- 平均需要约10,000次尝试才能成功利用这个竞争条件。
- 在特定配置下(MaxStartups=10,LoginGraceTime=120秒),平均需要1-2天才能获得远程root shell。
3. 针对Debian 12.5.0(OpenSSH 9.2p1)的具体攻击:
- 使用SIGALRM中断malloc()调用(在sshd的公钥解析代码中)。
- 使堆处于不一致状态。
- 在SIGALRM处理程序中(具体在syslog()内)利用这种不一致状态。
4. Debian版本的攻击效率:
- 平均需要约10,000次尝试。
- 在特定配置下(MaxStartups=100,LoginGraceTime=120秒),约需3-4小时。
- 由于ASLR(地址空间布局随机化),最终获得远程root shell平均需要6-8小时。
5. 研究状态:
- 目前仅针对虚拟机环境,未在物理服务器上测试。
- 测试环境网络链路相对稳定(约10ms数据包抖动)。
- 研究人员认为攻击方法还有很大改进空间。
- 正在开发针对amd64架构的漏洞利用,但难度更大。
需要强调的是,这些信息描述了高度技术性的攻击方法,仅供安全研究和防御目的使用。任何未经授权的实际攻击行为都是非法和不道德的。组织应该尽快应用安全补丁来防御这种漏洞。
参考资料:
https://www.daemonology.net/blog/2012-08-30-protecting-sshd-using-spiped.html
https://github.com/Tarsnap/spiped
推荐阅读
闲谈
威胁情报
1.威胁情报 - 最危险的网络安全工作
2.威胁情报专栏 | 威胁情报这十年(前传)
3.网络威胁情报的未来
4.情报内生?| 利用威胁情报平台落地网空杀伤链的七种方法
5.威胁情报专栏 | 特别策划 - 网空杀伤链
APT
入侵分析与红队攻防
天御智库