LAZYGENIUS18/ELITEWOLF-Style-OT-Threat-Detection

GitHub: LAZYGENIUS18/ELITEWOLF-Style-OT-Threat-Detection

基于浏览器的 OT/ICS 安全运营中心模拟器,通过模拟真实工业攻击场景帮助用户练习威胁检测、协议分析和事件响应技能。

Stars: 0 | Forks: 0

# ⚡ ELITEWOLF 风格 OT 威胁检测实验室 ### 学生版 — 实操 ICS/OT 安全监控平台 ![许可证](https://img.shields.io/badge/license-MIT-green) ![HTML](https://img.shields.io/badge/built%20with-HTML%2FJS-blue) ![OT 安全](https://img.shields.io/badge/domain-OT%2FICS%20Security-red) ![MITRE](https://img.shields.io/badge/framework-MITRE%20ATT%26CK%20ICS-orange) ![CISA](https://img.shields.io/badge/reference-CISA%20ELITEWOLF-yellow) ## 📌 项目概述 一个完全基于浏览器的 **OT/ICS 安全运营中心 (SOC) 模拟器**,灵感来自 NSA/CISA [ELITEWOLF](https://github.com/nsacyber/ELITEWOLF) IDS 特征库。旨在培养和展示工业网络安全方面的实操技能——涵盖威胁检测、IDS 规则工程、SIEM 威胁狩猎、协议分析和事件响应。 ## 🎯 展示技能 | 技能 | 工具/概念 | |---|---| | OT 协议分析 | Modbus, DNP3, EtherNet/IP, S7Comm, OPC-UA | | IDS 规则工程 | Snort 兼容特征(ELITEWOLF 风格) | | 威胁检测 | 异常检测、特征匹配 | | SIEM 威胁狩猎 | SPL 查询语言(Splunk 风格) | | MITRE ATT&CK for ICS | 技术映射、覆盖热力图 | | 事件响应 | 专业 IR 报告生成 | | 网络架构 | Purdue 参考模型 (ISA-99) | | 资产管理 | OT 设备清单与分类 | ## 🖥️ 功能 ### 9 个完全交互式模块 ``` ┌─────────────────────────────────────────────────────────┐ │ 1. Dashboard — Live SOC overview, Purdue topology │ │ 2. Alert Queue — Triage, filter, investigate alerts │ │ 3. Packet Analysis— PCAP viewer + protocol decoder │ │ 4. IDS Rules — Snort rule editor, live rule engine │ │ 5. Asset Inventory— OT device registry with risk status │ │ 6. MITRE ATT&CK — ICS coverage heatmap │ │ 7. SIEM / Hunt — SPL query console + visualizations │ │ 8. Incident Report— IR document generator │ │ 9. Attack Sim — 6 injectable OT attack scenarios │ └─────────────────────────────────────────────────────────┘ ``` ### 攻击场景(模拟/安全) | 场景 | MITRE 技术 | 现实世界参考 | |---|---|---| | Modbus 侦察 | T0888 远程系统信息 | 攻击前侦察 | | 未授权线圈写入 | T0836, T0855 | INCONTROLLER / PIPEDREAM | | DNP3 热重启 | T0813, T0815 | CRASHOVERRIDE / Industroyer | | S7comm CPU 停止 | T0816 | Stuxnet | | IT→OT 横向移动 | T0866, T0859 | Colonial Pipeline 模式 | | EtherNet/IP 配置篡改 | T0836 | Trisis/Triton 风格 | ## 🚀 快速开始 ``` # Clone 仓库 git clone https://github.com/LAZYGENIUS18/ot-threat-lab.git # 在浏览器中打开 — 无需 server,无需安装 cd ot-threat-lab open index.html # macOS start index.html # Windows xdg-open index.html # Linux ``` 或者直接 **[点击此处体验在线演示 →](https://LAZYGENIUS18.github.io/ot-threat-lab)** ## 📁 仓库结构 ``` ot-threat-lab/ │ ├── index.html # Main application (single-file lab) │ ├── rules/ │ ├── modbus_detection.rules # Snort rules — Modbus attacks │ ├── dnp3_detection.rules # Snort rules — DNP3 attacks │ ├── enip_detection.rules # Snort rules — EtherNet/IP attacks │ └── s7comm_detection.rules # Snort rules — S7comm / Siemens │ ├── scripts/ │ ├── simulate_traffic.py # Python traffic generator (for Wireshark practice) │ ├── parse_modbus.py # Modbus packet parser │ └── alert_exporter.py # Export alerts to CSV/JSON │ ├── docs/ │ ├── ARCHITECTURE.md # Purdue Model explained │ ├── PROTOCOLS.md # OT protocol reference guide │ ├── MITRE_MAPPING.md # Full ATT&CK for ICS technique list │ └── INCIDENT_RESPONSE.md # IR playbook template │ └── README.md ``` ## 🔬 涵盖的 OT 协议 ### Modbus TCP (端口 502) 最常见的 ICS 协议。监控的功能码: - `FC 01` 读取线圈 - `FC 03` 读取保持寄存器 - `FC 05` **写单个线圈** ← 攻击向量 - `FC 0F` **写多个线圈** ← INCONTROLLER/PIPEDREAM - `FC 08` 诊断 / 强制只听模式 ### DNP3 (端口 20000) 用于电力设施和水务系统: - `FC 0D` **热重启** ← 导致监控盲区 - `FC 81` 响应 / 主动上报 - 直接执行命令 ### EtherNet/IP / CIP (端口 44818) Allen-Bradley / Rockwell 协议: - `CIP 0x10` **设置单个属性** ← 配置篡改 - `CIP 0x0E` 获取单个属性 ### S7comm (端口 102) Siemens SIMATIC 协议: - `0x29` **停止 CPU** ← Stuxnet 技术 - `0x28` 启动 CPU - 读/写 SZL ## 📋 IDS 规则参考 所有规则遵循与 CISA ELITEWOLF 兼容的 **Snort 2.9+ 语法**。 ### 示例:检测 Modbus 写多个线圈 ``` alert tcp any any -> 192.168.10.0/24 502 ( msg:"OT-MODBUS Write Multiple Coils - Possible Unauthorized Command"; flow:to_server,established; content:"|00 00|"; depth:2; content:"|0F|"; offset:7; depth:1; classtype:protocol-command-decode; priority:1; sid:9000002; rev:1; ) ``` ### 示例:检测 S7comm CPU 停止 ``` alert tcp any any -> 192.168.10.0/24 102 ( msg:"OT-S7COMM CPU Stop Command - Critical"; flow:to_server,established; content:"|03 00|"; depth:2; content:"|29|"; offset:17; depth:1; classtype:attempted-dos; priority:1; sid:9000007; rev:1; ) ``` ### 示例:检测 DNP3 热重启 ``` alert tcp any any -> 192.168.10.0/24 20000 ( msg:"OT-DNP3 Warm Restart from Unauthorized Source"; flow:to_server,established; content:"|05 64|"; depth:2; content:"|0D|"; offset:12; depth:1; threshold:type limit,track by_src,count 1,seconds 60; priority:1; sid:9000008; rev:1; ) ``` ## 🗡️ MITRE ATT&CK for ICS 覆盖范围 | 战术 | 技术 | ID | 检测状态 | |---|---|---|---| | 影响 | 修改参数 | T0836 | ✅ 已检测 | | 影响 | 未授权命令 | T0855 | ✅ 已检测 | | 影响 | 设备重启/关机 | T0816 | ✅ 已检测 | | 影响 | 拒绝控制 | T0813 | ✅ 已检测 | | 发现 | 网络嗅探 | T0840 | ✅ 已检测 | | 发现 | 远程系统信息 | T0888 | 🟡 部分覆盖 | | 横向移动 | 利用远程服务 | T0866 | 🟡 部分覆盖 | | 持久化 | 模块固件 | T0839 | ❌ 未覆盖 | | 执行 | 更改操作模式 | T0858 | 🟡 部分覆盖 | ## 🎓 学习路径 **初级:** 从仪表板和攻击模拟器开始。运行每个场景并观察告警的生成。 **中级:** 转到 IDS 规则。阅读每条现有规则,了解其检测内容,然后尝试使用模板编写自己的规则。 **高级:** 使用 SIEM 标签页编写 SPL 威胁狩猎查询。尝试在 IDS 规则遗漏的告警数据中寻找模式。 **作品集准备:** 在运行“未授权线圈写入”场景后,填写完整的事件响应报告。将其保存为 PDF。 ## 📚 参考资料与延伸阅读 | 资源 | URL | |---|---| | CISA ELITEWOLF(真实 IDS 特征) | https://github.com/nsacyber/ELITEWOLF | | MITRE ATT&CK for ICS | https://attack.mitre.org/matrices/ics/ | | NIST SP 800-82 Rev.3 (ICS 安全) | https://csrc.nist.gov/publications/detail/sp/800-82/rev-3/final | | IEC 62443 标准 | https://www.iec.ch/isa99 | | CISA ICS 公告 | https://www.cisa.gov/ics-advisories | | Dragos 年度回顾 | https://www.dragos.com/year-in-review/ | | Modbus 协议规范 | https://modbus.org/specs.php | | DNP3 概述 | https://www.dnp.org | ## 🛡️ 免责声明 ## 📄 许可证 MIT 许可证 — 可免费使用、修改和分享,需注明出处。 ## 👤 作者 **[LAZYGENIUS18]** - GitHub: [@LAZYGENIUS18](https://github.com/LAZYGENIUS18) *为申请 OT/ICS 网络安全岗位而制作的作品集项目。* ⭐ **如果这对您有帮助,请给仓库点个 Star!**
标签:AMSI绕过, PKINIT, 入侵检测系统, 后端开发, 多模态安全, 威胁检测, 安全数据湖, 安全运营中心, 工业控制系统, 工控安全, 数据可视化, 网络映射, 逆向工具