
| 属性 | 值 |
|---|
| 漏洞编号 | CVE-2026-42945 |
| 类型 | 远程代码执行 (RCE) |
| CVSS 评分 | 9.8(严重) |
| 受影响版本 | < 1.26.3(主版本)/ < 1.24.1(稳定版) |
| 修复版本 | 1.26.3+ |
| 攻击向量 | 畸形 HTTP/2 头部解析 |
| 前提条件 | 目标系统已禁用 ASLR |
扫描子网或单个主机,识别存在漏洞的 nginx 安装。
功能特点:
自动将存在漏洞的 nginx 实例修补到最新的安全版本。
功能特点:
通过堆喷射技术测试 CVE-2026-42945 漏洞。
功能特点:
paramiko (>= 3.0.0) - SSH 客户端库
rich (>= 13.0.0) - 终端格式化和进度条
git clone https://github.com/gagaltotal/CVE-2026-42945-NGINX-Rift-Toolkit
cd CVE-2026-42945-NGINX-Rift-Toolkit
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

nginx_scanner.py)python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.10 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/30 --user admin --password "password"
python3 nginx_scanner.py --subnet 192.168.1.0/24 --port 2222 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --output report.html
--subnet SUBNET 以 CIDR 格式指定的目标子网(必需)
--user USER SSH 用户名(默认:root)
--password PASSWORD SSH 密码
--key KEY_PATH SSH 私钥路径
--port PORT SSH 端口(默认:22)
--timeout TIMEOUT 连接超时时间,单位秒(默认:5)
--output FILE 输出报告文件(HTML/JSON)
--workers WORKERS 并发线程数(默认:20)
nginx_patcher.py)
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
python3 nginx_patcher.py --subnet 192.168.1.0/24 --target-version 1.26.3 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 10.0.0.0/30 --port 2222 --user admin --password "password"
--subnet SUBNET 以 CIDR 格式指定的目标子网(必需)
--user USER SSH 用户名(默认:root)
--password PASSWORD SSH 密码
--key KEY_PATH SSH 私钥路径
--port PORT SSH 端口(默认:22)
--timeout TIMEOUT 连接超时时间,单位秒(默认:30)
--target-version VERSION 要修补到的 nginx 版本(默认:最新)
--dry-run 展示将要修补的内容但不执行
--workers WORKERS 并发线程数(默认:10)
exploit.py)
python3 exploit.py --target 192.168.1.100 --port 80
python3 exploit.py --target 192.168.1.100 --port 80 --command "cat /etc/passwd"
python3 exploit.py --target 192.168.1.100 --port 80 --spray 50
python3 exploit.py --target 192.168.1.100 --port 80 --verbose
--target HOST 目标主机 IP 或域名(必需)
--port PORT 目标端口(默认:80)
--command CMD 要执行的命令
--spray NUM 堆喷射尝试次数(默认:20)
--timeout TIMEOUT 连接超时时间,单位秒(默认:5)
--tries NUM 漏洞利用尝试次数(默认:10)
--verbose 启用详细输出
# 步骤 1:扫描网络中的易受攻击实例
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key --output scan_results.html
# 步骤 2:查看 scan_results.html 中的扫描结果
# 步骤 3:修补易受攻击的实例
python3 nginx_patcher.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# 步骤 4:再次运行扫描器验证补丁是否应用
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# 步骤 1:预演查看将要修补的内容
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
# 步骤 2:应用补丁
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
# 步骤 1:首先验证系统是否易受攻击
python3 exploit.py --target 10.0.0.50 --port 80 --verbose
# 步骤 2:如果成功,建议立即修补
python3 nginx_patcher.py --subnet 10.0.0.50 --user root --key ~/.ssh/id_rsa
| 注意事项 | 详情 |
|---|---|
| SSH 密钥管理 | 安全存储 SSH 密钥,切勿提交到仓库 |
| 网络访问 | 确保生产环境的网络分段 |
| 测试环境 | 始终先在非生产环境中测试 |
| 日志记录 | 所有操作都会生成详细日志用于审计追踪 |
| ASLR 状态 | 漏洞利用工具要求目标禁用 ASLR |
| 预演模式 | 使用 --dry-run 标志预览更改后再应用 |
| 备份 | 在修补前始终备份 nginx 配置 |
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --password "password"
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa --port 2222
chmod 600 ~/.ssh/id_rsa--dry-run 识别问题而不应用扫描器生成多种格式的详细报告:
| 格式 | 描述 |
|---|---|
| HTML 报告 | 可在浏览器中查看,包含漏洞摘要、受影响主机、版本详情 |
| JSON 报告 | 机器可读格式,包含完整的技术细节 |
| 控制台输出 | 实时进度,颜色编码结果 |
所有操作均记录时间戳,用于审计合规。查看控制台输出以获取详细的执行信息。
欢迎贡献!贡献方式如下:
git checkout -b feature/improvement)git commit -am '添加改进')git push origin feature/improvement)本工具包仅供授权的安全测试和漏洞评估使用。未经授权访问计算机系统是违法的。用户有责任确保在使用本工具包前已获得适当授权。
gagaltotal - GitHub
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
最后更新: 2026-05-20