Mewtwoz/n-days-poc-benchmark-and-dataset
GitHub: Mewtwoz/n-days-poc-benchmark-and-dataset
该套件提供 ICS 领域 N-Day 漏洞的 PoC 基准与数据集,解决已知漏洞在真实环境中的可复现检测与评估问题。
Stars: 0 | Forks: 0
# ICS N-Day 漏洞 PoC 基准测试套件
一组针对工业控制系统(ICS)设备中已知(N-Day)漏洞的概念验证(PoC)脚本集合。适用于学术安全研究、漏洞检测基准测试以及在隔离实验室环境中的 IDS/IPS 评估。
## 免责声明
**仅限在隔离实验室环境中进行授权使用。** 详见 [免责声明文件](DISCLAIMER.md)。
## 漏洞索引
| # | 厂商 | 型号 | 协议 | CVE/CNVD | 类型 |
|---|--------|-------|----------|----------|------|
| 1 | Siemens | S7-300 | PROFINET | [CVE-2019-13946](siemens/CVE-2019-13946/) | 远程 DoS |
| 2 | Siemens | S7-300 | S7 通信 | [CVE-2015-2177](siemens/CVE-2015-2177/) | 输入验证 / DoS |
| 3 | Siemens | S7-300 | PROFIBUS | [CVE-2015-0015](siemens/CVE-2015-0015/) | I/O 模块停止 DoS |
| 4 | Siemens | S7-1200 | HTTP | [CVE-2014-2909](siemens/CVE-2014-2909/) | CRLF 注入 |
| 5 | Siemens | S7-1200 | HTTP | [CVE-2012-3040](siemens/CVE-2012-3040/) | 跨站脚本 |
| 6 | Siemens | S7-1200 | ISO-TSAP | [CVE-2013-0700](siemens/CVE-2013-0700/) | crafted packet crash DoS |
| 7 | Siemens | S7-1200 | S7 通信 | [CVE-2012-3037](siemens/CVE-2012-3037/) | 诊断缓冲区信息泄露 |
| 8 | Rockwell | 1766-L32 | EIP/PCCC | [CNVD-2018-00883](rockwell/CNVD-2018-00883/) | 栈缓冲区溢出 |
| 9 | Rockwell | 1766-L32 | EIP | [CVE-2016-5645](rockwell/CVE-2016-5645/) | 以太网接口 DoS |
| 10 | Rockwell | SoftLogix | EIP/CIP | [CVE-2020-12040](rockwell/CVE-2020-12040/) | CIP 栈缓冲区溢出 |
| 11 | Emerson | VersaMax | SRTP | [CNVD-2013-13377](emerson/CNVD-2013-13377/) | 内存损坏 / RCE |
| 12 | Omron | CP2E | FINS | [CVE-2015-0987](omron/CVE-2015-0987/) | CPU 周期时间错误 DoS |
| 13 | Schneider | TM221 | Modbus | [CVE-2015-7937](schneider/CVE-2015-7937/) | 通过 Func 0x71 触发 CPU 崩溃 |
| 14 | Schneider | TM221 | HTTP | [CVE-2018-7789](schneider/CVE-2018-7789/) | 通过 POST 触发的 Web 服务 DoS |
| 15 | CODESYS | Linux SL | OPC UA | [CVE-2021-29241](codesys/CVE-2021-29241/) | OPC UA 协议栈 DoS |
## 结构
```
vul_poc/
├── common/
│ ├── safety.py # Authorization gate (required by all PoCs)
│ └── utils.py # Shared protocol helpers
├── siemens/
│ └── /
│ ├── README.md # Vulnerability details, affected versions, patch info
│ └── poc.py # PoC script
├── rockwell/ ...
├── emerson/ ...
├── omron/ ...
├── schneider/...
└── codesys/ ...
```
## 用法
所有 PoC 脚本在执行前必须获得明确的实验室授权:
```
export ICS_POC_AUTHORIZED=yes
export ICS_POC_TARGET=192.168.x.x # must be RFC-1918 / isolated lab range
python siemens/CVE-2019-13946/poc.py --target 192.168.1.100
```
## 要求
```
pip install -r requirements.txt
```
## 研究背景
本基准测试套件配套论文《*N-Day Vulnerability Detection in Industrial Control Systems*》。每个 PoC 脚本均来源于公开的 CVE 披露、厂商安全通告以及已发布的安全研究。
标签:API密钥检测, Buffer Overflow, CIP, CNVD, CPU 崩溃, CRLF Injection, CVE, DoS, EIP, FINS, ICS, IDS/IPS 评估, ISO-TSAP, N-Day, NTLM Relay, PKINIT, PoC, PROFIBUS, PROFINET, RCE, S7 Comm, Web 服务 DoS, 信息泄露, 内存损坏, 学术研究, 实验室环境, 工业控制, 工控安全, 数字签名, 暴力破解, 栈溢出, 漏洞基准, 漏洞复现, 诊断缓冲区, 输入验证, 逆向工具