themodernhacker/honeypot-siem

GitHub: themodernhacker/honeypot-siem

基于SSH蜜罐和Wazuh SIEM的紫色团队检测实验室。

Stars: 0 | Forks: 0

# Honeypot SIEM,紫色团队检测实验室 一个自包含的紫色团队实验室,运行 **SSH蜜罐(Cowrie**),将事件发送到 **SIEM(Wazuh**),并使用映射到MITRE ATT&CK的定制检测规则检测模拟攻击。在单台机器上使用Docker从头到尾构建,攻击它,检测它,记录它。 ![架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/eb6da8e2c4120332.svg) ## 这展示了什么 - **检测工程**:11个基于频率关联的定制Wazuh规则(暴力破解、暴力破解后的妥协),在版本控制中:[`rules/local_rules.xml`](rules/local_rules.xml) - **MITRE ATT&CK映射**:每个警报都标记为一种技术:[`docs/MITRE-MAPPING.md`](docs/MITRE-MAPPING.md) - **日志管道设计**:Cowrie JSON通过共享卷发送到Wazuh管理器,没有主机代理,可以从这个仓库完全重现 - **紫色团队工作流程**:脚本化、受控的攻击和结果警报的分析:[`attack/`](attack/) - **跨SIEM检测**:将相同的规则重写为KQL以用于Microsoft Sentinel:[`sentinel/`](sentinel/) ## 架构 ``` ┌────────────┐ SSH :2222 ┌─────────────┐ cowrie.json ┌──────────────────┐ │ Attacker │ ─────────────► │ Cowrie │ ──────────────► │ Wazuh Manager │ │ (scripts/ │ brute-force, │ honeypot │ (shared vol) │ decoders+rules │ │ nmap/ssh) │ recon, wget │ (Docker) │ │ MITRE tagging │ └────────────┘ └─────────────┘ └────────┬─────────┘ │ ┌─────────▼─────────┐ │ Wazuh Indexer + │ │ Dashboard (:443) │ └───────────────────┘ ``` ## 快速开始 完整说明:[`docs/SETUP.md`](docs/SETUP.md)。简而言之(Windows + Docker Desktop,从仓库根目录): ``` git clone https://github.com/wazuh/wazuh-docker.git -b v4.9.0 cd wazuh-docker\single-node docker compose -f generate-indexer-certs.yml run --rm generator copy ..\..\wazuh\docker-compose.override.yml .\docker-compose.override.yml # add the block from wazuh/manager-localfile-snippet.xml to # config\wazuh_cluster\wazuh_manager.conf docker compose up -d pwsh ..\..\wazuh\apply-custom-rules.ps1 # inject custom rules once stack is healthy # open https://localhost (change the default admin password!) ``` 然后运行攻击: ``` cd ..\..\attack pip install paramiko .\scan.ps1 python brute_force.py python run_session.py ``` ## 检测与MITRE覆盖范围 | 检测 | ATT&CK | 规则 | |:----:|--------|:----:| | SSH暴力破解(8+失败/120秒,一个来源) | T1110 | 100104 | | 暴力破解后的成功登录 | T1078 + T1110 | 100105 | | 远程有效载荷下载(`wget`/`curl`) | T1105 | 100108/109 | | 侦察命令(`uname`、`id`、...) | T1082 + T1033 | 100107 | | 快速连接/自动化 | T1046 | 100110 | | 通过蜜罐的隧道/代理 | T1090 | 100111 | 完整表格:[`docs/MITRE-MAPPING.md`](docs/MITRE-MAPPING.md). ## 演示 从攻击到检测的实验室运行。 **1. 攻击蜜罐。** 对SSH端口进行暴力破解,然后使用有效的密码登录,然后四处探索。shell落在伪造的主机`web-prod-01`上。 ![通过SSH攻击蜜罐](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1af7d71e46120333.png) **2. 蜜罐记录了每一次尝试。** Cowrie将每次登录作为JSON行写入。以下是失败的猜测,然后是成功的`root/hunter2`。 ![登录尝试的Cowrie JSON日志](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6e60bb76e3120335.png) **3. Wazuh将日志转换为警报。** 暴力破解后的成功登录触发了级别12的妥协规则(100105),并标记了它所代表的MITRE技术。 ![带有MITRE标签的暴力破解到妥协警报](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/2e3e3f1e32120336.png) **4. 也会捕获访问后的活动。** 在会话中运行的侦察命令映射到发现技术(100107、T1082和T1033)。 ![带有MITRE标签的侦察命令警报](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/513dbc5744120338.png) **5. 仪表板将其整合在一起。** 顶级源IP、MITRE技术分解、尝试的密码和运行的命令,所有这些都针对蜜罐。 ![Cowrie概述仪表板,上半部分](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/60215a7e51120340.png) ![Cowrie概述仪表板,密码和命令](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/691660a3e7120342.png) **6. 然后汇总到Wazuh概述。** ![攻击后的Wazuh概述](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/7a941948e7120343.png) ## 撰写 针对每次攻击的分析(从日志到捕获它的规则到MITRE技术到分析师接下来做什么)位于[`docs/`](docs): - [暴力破解到账户接管](docs/writeup-brute-force.md) - [进入后四处看看](docs/writeup-recon.md) - [拉取第二阶段](docs/writeup-payload-download.md) ## 我学到的 在构建此过程中遇到并解决的真正工程问题(不是理论): - **Wazuh关联使用特定的字段名称。** ``仅在Wazuh的内置`srcip`字段上工作。Cowrie的JSON将地址解码为动态字段`src_ip`,因此我的暴力破解关联在切换到`src_ip`之前始终没有触发。教训:验证您的关联实际上基于哪个字段。 - **将绑定挂载到Docker命名卷可能会破坏应用程序初始化。** 将规则文件挂载到`/var/ossec/etc`使Wazuh认为卷已经填充并跳过复制其默认配置,因此管理器不会启动。通过`docker cp`在第一次启动后注入规则(见`apply-custom-rules.ps1`)来修复。 - **蜜罐检测有盲点。** Cowrie仅公开端口2222,因此端口扫描(T1046)在蜜罐本身上留下了微弱的证据,强烈的信号在攻击者/网络端。我诚实地表示了这一点,而不是夸大覆盖范围。 - **配置编码很重要。** Cowrie将`userdb.txt`读取为ASCII,并在注释中的单个非ASCII破折号上崩溃,这破坏了所有身份验证。一个小字节,一个大故障,这正是真实检测管道会遇到的事情。 - 将每个检测映射到MITRE ATT&CK将一堆警报转换成一个可读的攻击故事(侦察到暴力破解到妥协到发现到工具传输)。 ## 仓库布局 ``` rules/ custom Wazuh decoders + detection rules (the core artifact) cowrie/ honeypot config (cowrie.cfg, userdb.txt) + logs (gitignored) wazuh/ compose override + manager config snippet attack/ controlled attack scripts (brute force, session, scan) docs/ setup guide, MITRE mapping, attack write-ups sentinel/ the same detections in KQL for Microsoft Sentinel (bonus) screenshots/ evidence for the README ``` _仅用于针对我自己的基础设施进行教育/防御性安全使用的实验室。_
标签:Redis利用, 请求拦截