frudotz/ISU-SecOps-Nginx-RCE
GitHub: frudotz/ISU-SecOps-Nginx-RCE
一个用于渗透测试教学的隔离安全实验室,通过模拟 Nginx QUIC 漏洞并配套攻击、防御与自动化测试流程来教授漏洞研究与 DevSecOps 实践。
Stars: 5 | Forks: 0
### 👨💻 黑客终端 (CLI / Exploit 执行)
运行攻击脚本并触发 Nginx 服务器上 QUIC Buffer Overflow 漏洞的瞬间:
### 🎥 实时演示视频 (系统运行机制)
展示项目端到端运行、漏洞利用以及目标崩溃过程的实时演示视频:
*(如果视频无法在您的浏览器或 Markdown 阅读器中播放,您可以通过 `assets/demo/live-demo.mp4` 路径在本地观看。)*
## 🌐 生产环境模拟 (Mock Website)
目标 Nginx 服务器托管了一个交互式的深色主题 **"Enterprise Security Gateway"** Web 界面,以展示该漏洞在现实世界中的影响。因此,测试人员渗透的不再是一个简单的 "It Works" 页面,而是一个具有企业级外观的生产环境 (production) 服务器。
## 🧠 架构方法
该项目由 4 个主要层级组成:
* **目标 (Target) 层:** 包含漏洞的 Nginx 1.25.3 Docker container 和 mock website。
* **攻击 (Attack) 层:** 基于 Python 的 QUIC fuzzer、DoS 和 Payload (JSON) 模块。
* **防御 (Defense) 层:** 原始 C 补丁和基于 Kernel 的 eBPF 解决方案建议。
* **文档层:** 威胁分析、fuzzer 方法论、崩溃分类 (crash triage) 和基准测试报告。
通过这种结构,该系统提供了一种模块化、具有教育意义且贴近真实的漏洞研究 (VulnDev) 体验。
## ⚙️ 使用说明
### Docker 环境
使用 Docker Compose 在您自己的计算机 (localhost) 上部署该项目:
```
docker compose up -d --build
```
*此命令将启动 `target_nginx` 容器,为其分配 10.13.37.10 的 IP 地址,并开启 HTTP/3 支持。*
### 攻击工具
在安装所需的 Python 依赖项之后,您可以启动攻击脚本:
**侦察阶段 (Recon):**
```
docker exec fuzzer_node python3 /fuzzer/01_recon.py 10.13.37.10 443
```
**DoS 攻击:**
```
docker exec fuzzer_node python3 /fuzzer/03_dos.py 10.13.37.10 443 10
```
*注意:您可以检查 Nginx 日志以查看崩溃检测信息:*
```
docker exec target_nginx cat /var/log/nginx/asan.7
```
## 🛡️ 防御与补丁
该实验室不仅教授攻击,也传授防御知识。Nginx 源码中添加了如下的边界检查:
```
if (idlen > NGX_QUIC_CID_LEN_MAX || idlen == 0xFF) {
ngx_log_error(NGX_LOG_INFO, c->log, 0, "quic invalid dcid_len detected");
return NGX_DECLINED;
}
```
*详细的 C-patch 内容可以在 `savunma/CVE-2026-0211-defense.patch` 文件中找到。*
## 🧪 CI/CD 测试
该项目在 GitHub Actions 上拥有全自动的 DevSecOps pipeline:
* 每次推送代码时,Docker 环境都会在 Actions runner 上启动。
* 自动运行 fuzzer 测试。
* 扫描 AddressSanitizer (ASAN) 日志,以审计补丁是否生效 (`.github/workflows/security_test.yml`)。
## 📁 产出与文档
所有学术级别的研究产出均位于 `dokumantasyon/` 文件夹下:
1. 威胁分析
2. Fuzzing 方法论
3. 崩溃分类 (Crash Triage / Root Cause Analysis)
4. 高级缓解策略 (WAF/eBPF)
5. 性能与基准测试表
## ⚠️ 法律声明 / 限制
* **仅限授权环境:** 此处的工具只能在您自己控制的隔离 Docker 系统中使用。
* **免责声明:** 对于针对未经授权系统进行的任何操作,项目所有者概不负责。
* 相比于真实的 Zero-Day,该系统是基于 Nginx QUIC 逻辑为教育目的而特意引入漏洞的自定义版本 (假设的 CVE-2026-0211) 构建的。
## 🧾 版本
v1.0.0
## 📌 备注
本项目旨在以学术化的方法展示渗透测试、安全漏洞发现 (VulnDev) 以及 DevSecOps 流程的基本原则。标签:CISA项目, Docker, Docker镜像, Nginx, Python, 安全实验环境, 安全防御评估, 无后门, 漏洞复现, 版权保护, 编程工具, 请求拦截, 远程代码执行, 逆向工具