
CVE-2024-6387_Check 是一款轻量、高效的工具,旨在识别运行存在漏洞的 OpenSSH 版本的服务器,特别是针对最近发现的 regreSSHion 漏洞(CVE-2024-6387)。该脚本支持对多个IP地址、域名和CIDR网络范围进行快速扫描,以检测潜在漏洞并确保基础设施安全。
python CVE-2024-6387_Check.py <targets> [--ports PORTS] [--timeout TIMEOUT] [--list FILE] [--grace-time-check [SECONDS]] [--dns-resolve] [--use-help-request]
<targets>:IP地址、域名、包含IP地址的文件路径,或CIDR网络范围。--timeout TIMEOUT:设置连接超时秒数(默认:1秒)。--list FILE:包含待检查IP地址列表的文件。--ports PORTS:指定要检查的端口号,用逗号分隔(默认:22)。--use-help-request:启用发送 HELP 请求,当初始SSH banner获取失败时使用。--grace-time-check [SECONDS]:识别版本后等待的秒数,用于检查 LoginGraceTime 缓解措施(默认:120秒)。--dns-resolve:解析并显示IP地址对应的主机名。python CVE-2024-6387_Check.py 192.168.1.1
python CVE-2024-6387_Check.py -l ip_list.txt
python CVE-2024-6387_Check.py 192.168.1.1 example.com 192.168.1.2
python CVE-2024-6387_Check.py 192.168.1.0/24
python CVE-2024-6387_Check.py 192.168.1.1 example.com --ports 22,2222
python CVE-2024-6387_Check.py 192.168.1.1 --grace-time-check
python CVE-2024-6387_Check.py 192.168.1.1 --grace-time-check 150
python CVE-2024-6387_Check.py 192.168.1.1 --use-help-request
python CVE-2024-6387_Check.py 192.168.1.1 --dns-resolve
该工具支持检查 LoginGraceTime 缓解措施。当使用 --grace-time-check 选项时,脚本会在获取SSH banner后等待指定时间,观察连接是否保持打开状态。如果连接保持打开,则表明 LoginGraceTime 可能已设为 0 作为一种缓解措施。
该工具完全支持IPv6地址。你可以直接扫描IPv4和IPv6地址,或通过主机名解析进行扫描。
工具能识别某些已知的已修复 OpenSSH 版本,并将其从漏洞报告中排除,确保结果更准确。
使用 --dns-resolve 选项时,脚本会解析IP地址对应的主机名并在输出中显示。该功能有助于更清晰地识别扫描主机。
工具包含一个选项,用于处理那些不立即返回 banner 的限制性 SSH 服务。使用 --use-help-request 选项时,如果初始 SSH banner 获取失败,脚本会发送一个 "HELP" 请求,从而提高“缓解”检测的几率。
脚本将提供扫描目标的摘要:
🛡️ 无漏洞服务器: 2
[+] somedomain.cloudapp.azure.com 上的服务器 (运行 SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.11)
[+] regresshion_test.cc 上的服务器 (运行 SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.3)
🚨 可能漏洞服务器: 1
[+] 4.231.170.122 (abc.com) 上的服务器 (运行 SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u2)
[+] 4.231.170.121 上的服务器 (运行 SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u2) 存在漏洞且未启用 LoginGraceTime 修复(会话在 120.1 秒后被服务器关闭)
⚠️ 未知 SSH 版本的服务器: 1
[+] 103.97.85.85 (xxx.com) 上的服务器 (banner: SSH-2.0-ROSSSH)
🔒 端口22关闭的服务器: 254
📊 总计扫描目标: 257
-d 或 --dns-resolve 支持主机名解析--use-help-request 参数启用。这有助于绕过某些不立即返回 banner 的 SSH 配置,提高与更严格的 SSH 服务的兼容性。