xaitax/CVE-2024-6387_Check

GitHub: xaitax/CVE-2024-6387_Check

一款轻量级检测工具,用于批量扫描并识别运行受 CVE-2024-6387 漏洞影响版本的 OpenSSH 服务器。

Stars: 526 | Forks: 100

# CVE-2024-6387_检查 ![image](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad9eb9333645b9bebe0988340af043c3a8e21e932376cc01fd5ac743497725de.png) ## 📜 描述 CVE-2024-6387_Check 是一款轻量级、高效的工具,旨在识别运行易受攻击版本 OpenSSH 的服务器,特别是针对最近发现的 `regreSSHion` 漏洞 (CVE-2024-6387)。此脚本支持快速扫描多个 IP 地址、域名和 CIDR 网络范围,以检测潜在漏洞并确保您的基础设施安全。 ## 🌟 功能 - **快速扫描**:快速扫描多个 IP 地址、域名和 CIDR 范围,以检测 CVE-2024-6387 漏洞。 - **Banner 获取**:无需认证即可高效获取 SSH banner。 - **宽限时间检测**:可选检测服务器是否使用了 LoginGraceTime 设置来缓解漏洞。 - **IPv6 支持**:完全支持直接和基于主机名的 IPv6 地址扫描。 - **多线程**:使用线程进行并发检查,显著减少扫描时间。 - **详细输出**:提供清晰、带有 emoji 标识的输出,汇总扫描结果。 - **端口检查**:识别已关闭的端口,并提供无响应主机的摘要。 - **已修补版本检测**:识别并从漏洞报告中排除已知已修补的版本。 - **DNS/主机名解析**:解析并显示 IP 地址对应的主机名。 ## 🚀 用法 ``` python CVE-2024-6387_Check.py [--ports PORTS] [--timeout TIMEOUT] [--list FILE] [--grace-time-check [SECONDS]] [--dns-resolve] [--use-help-request] ``` ### 命令行参数 - ``:IP 地址、域名、包含 IP 地址的文件路径或 CIDR 网络范围。 - `--timeout TIMEOUT`:设置连接超时时间(秒)(默认:1 秒)。 - `--list FILE`:包含待检查 IP 地址列表的文件。 - `--ports PORTS`:指定一个以逗号分隔的端口号列表进行检查(默认:22)。 - `--use-help-request`:如果初始 SSH banner 获取失败,则启用发送 HELP 请求。 - `--grace-time-check [SECONDS]`:在识别出版本后等待的时间(秒),以检查 `LoginGraceTime` 缓解措施(默认:120 秒)。 - `--dns-resolve`:解析并显示 IP 地址对应的主机名。 ### 示例 #### 单个 IP ``` python CVE-2024-6387_Check.py 192.168.1.1 ``` #### 来自文件的 IP ``` python CVE-2024-6387_Check.py -l ip_list.txt ``` #### 多个 IP 和域名 ``` python CVE-2024-6387_Check.py 192.168.1.1 example.com 192.168.1.2 ``` #### CIDR 范围 ``` 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 ``` #### 检查 LoginGraceTime 缓解措施 ``` python CVE-2024-6387_Check.py 192.168.1.1 --grace-time-check ``` #### 检查 LoginGraceTime 缓解措施并自定义时间 ``` python CVE-2024-6387_Check.py 192.168.1.1 --grace-time-check 150 ``` #### 启用 HELP 请求 ``` python CVE-2024-6387_Check.py 192.168.1.1 --use-help-request ``` #### 启用 DNS/主机名解析 ``` python CVE-2024-6387_Check.py 192.168.1.1 --dns-resolve ``` ### ✨ 功能详解 #### 宽限时间检测 该工具支持检查 [LoginGraceTime 缓解措施](https://www.cynet.com/blog/regresshion-cve-2024-6387/)。当使用 --grace-time-check 选项时,脚本将在获取 SSH banner 后等待指定的持续时间,以查看连接是否保持打开状态,这表明 LoginGraceTime 设置可能被设置为 0 作为缓解措施。 #### 已修补版本检测 该工具能够识别某些已修补的 OpenSSH 版本,并将它们排除在漏洞报告之外,从而确保结果更加准确。 #### DNS/主机名解析 当使用 `--dns-resolve` 选项时,脚本将在输出中解析并显示 IP 地址对应的主机名。此功能有助于更清晰地识别被扫描的主机。 ### HELP 请求处理 该工具包含一个选项,用于处理不会立即返回 banner 的限制性 SSH 服务。当使用 `--use-help-request` 选项时,如果初始 SSH banner 获取失败,脚本将发送一个 "HELP" 请求,从而增加对“缓解措施”的检测率。 ### 输出 脚本将提供已扫描目标的汇总: * 🚨 存在漏洞:运行易受攻击版本 OpenSSH 的服务器。 * 🛡️ 无漏洞:运行非易受攻击版本 OpenSSH 的服务器。 * ⚠️ 未知:运行未知版本 SSH 的服务器。 * 🔒 端口已关闭:端口 22(或指定端口)已关闭的服务器数量。 * 📊 扫描总数:已扫描目标的总数。 ``` 🛡️ Servers not vulnerable: 2 [+] Server at somedomain.cloudapp.azure.com (running SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.11) [+] Server at regresshion_test.cc (running SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.3) 🚨 Servers likely vulnerable: 1 [+] Server at 4.231.170.122 (abc.com) (running SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u2) [+] Server at 4.231.170.121 (running SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u2) vulnerable and LoginGraceTime remediation not done (Session was closed by server at 120.1 seconds) ⚠️ Servers with unknown SSH version: 1 [+] Server at 103.97.85.85 (xxx.com) (banner: SSH-2.0-ROSSSH) 🔒 Servers with port 22 closed: 254 📊 Total scanned targets: 257 ``` ## 📆 更新日志 ### [2024年7月8日] - 版本 0.8 - [新增] 包含了 FreeBSD 13.3、14.x 和 15 的已修补版本 - [新增] 通过 `-d` 或 `--dns-resolve` 实现主机名解析 - [修复] LoginGraceTime 检测 [@agibson2](https://github.com/agibson2) ### [2024年7月6日] - 版本 0.7 - [新增] 引入了一个选项:如果初次尝试失败,则使用 "HELP" 请求来获取 SSH banner。该功能可以使用 `--use-help-request` 参数启用。这有助于绕过某些不立即返回 banner 的 SSH 配置,改善了对限制性更强的 SSH 服务的兼容性。 - [新增] #30 允许扫描多个端口。 ### [2024年7月5日] - 版本 0.6 - [新增] 引入了 LoginGraceTime 检测。 - [修复] 解决了仅有 IPv6 地址的主机无法通过主机名进行测试的问题。 ## 📚 参考 [Qualys 关于 regreSSHion 漏洞的博客](https://blog.qualys.com/vulnerabilities-threat-research/2024/07/01/regresshion-remote-unauthenticated-code-execution-vulnerability-in-openssh-server)
标签:逆向工具