meAlien/SIEM-homelab

GitHub: meAlien/SIEM-homelab

一个基于 Wazuh + Sysmon 的 SIEM 家庭实验室,通过模拟真实攻击场景并编写自定义检测规则,帮助 SOC 分析师掌握日志分析、检测工程和事件调查技能。

Stars: 0 | Forks: 0

# SIEM 家庭实验室 — Wazuh + Sysmon 威胁检测 ![Wazuh](https://img.shields.io/badge/Wazuh-4.7-blue) ![Sysmon](https://img.shields.io/badge/Sysmon-15.x-green) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK-red) ![Status](https://img.shields.io/badge/Status-Complete-brightgreen) 一个自建的家庭实验室,用于模拟真实的攻击者技术,并通过自定义调优的 SIEM 进行检测。旨在展示实用的 SOC 分析师技能——日志分析、检测工程和事件调查。 ## 实验室架构 ``` ┌─────────────────────┐ ┌──────────────────────┐ │ Windows 10 VM │────────▶│ Wazuh Manager │ │ │ logs │ (Docker on host) │ │ • Sysmon v15 │ │ │ │ • Wazuh Agent 4.7 │ │ • Wazuh Indexer │ │ • Attack tools │ │ • Wazuh Dashboard │ └─────────────────────┘ └──────────────────────┘ ``` ## 工具与技术 | 工具 | 版本 | 用途 | |---|---|---| | Wazuh | 4.7 | SIEM — 日志摄取、告警、仪表盘 | | Sysmon | 15.x | Windows 端点遥测 | | VirtualBox | 7.x | 用于 Windows VM 的 Hypervisor | | Docker | Latest | 在宿主机上运行 Wazuh 技术栈 | | Mimikatz | 2.2.0 | 凭据转储模拟 | ## 攻击场景与检测覆盖 | # | 技术 | MITRE ID | Sysmon EID | 自定义规则 ID | 严重程度 | |---|---|---|---|---|---| | A | 通过 Mimikatz 进行凭据转储 | T1003.001 | 10 | 100100–100102 | Critical (15) | | B | 注册表 Run 键持久化 | T1547.001 | 11, 13 | 100110–100112 | High (13) | | C | 编码 PowerShell 侦察 | T1059.001 | 1, 22 | 100120–100122 | High (12) | | — | 多阶段攻击关联 | T1003+T1547 | — | 100130 | Critical (15) | ## 仓库结构 ``` siem-homelab/ ├── README.md # This file ├── rules/ │ └── custom_rules.xml # 10 custom Wazuh detection rules ├── sysmon/ │ └── sysmonconfig.xml # Tuned Sysmon config with EID 10/13 includes ├── docs/ │ ├── scenario-a-walkthrough.md # Credential dumping investigation │ ├── scenario-b-walkthrough.md # Persistence investigation │ └── scenario-c-walkthrough.md # Encoded PowerShell investigation └── evidence/ ├── setup/ # Lab setup screenshots ├── scenario-a/ # Mimikatz alert evidence ├── scenario-b/ # Registry persistence evidence └── scenario-c/ # PowerShell recon evidence ``` ## 设置指南 ### 前置条件 - 宿主机具有 8 GB RAM - 已安装 VirtualBox - 已安装 Docker Desktop(分配 5 GB RAM) ### 1. 部署 Wazuh ``` git clone https://github.com/wazuh/wazuh-docker.git -b v4.7.0 cd wazuh-docker/single-node docker compose -f generate-indexer-certs.yml run --rm generator docker compose up -d ``` 访问 `https://localhost` 处的仪表盘 — 凭据:`admin / SecretPassword` ### 2. 部署自定义检测规则 ``` bash docker exec -it single-node-wazuh.manager-1 bash cp /var/ossec/etc/rules/local_rules.xml /var/ossec/etc/rules/local_rules.xml.bak # 将 rules/custom_rules.xml 的内容粘贴到 local_rules.xml 中 /var/ossec/bin/wazuh-analysisd -t /var/ossec/bin/wazuh-control restart ``` ### 3. 在 Windows VM 上部署 Sysmon ``` cd C:\Tools\Sysmon .\Sysmon64.exe -accepteula -i sysmonconfig.xml ``` ## 关键发现 - 默认的 Wazuh 规则不涵盖 Sysmon EID 10(lsass 访问)或 EID 13(注册表 Run 键写入)—— 自定义规则对于这些检测至关重要 - SwiftOnSecurity Sysmon 配置默认排除了对 lsass 进程的访问 —— 需要针对 `\CurrentVersion\Run` 和 lsass 目标添加显式包含规则 - Mimikatz 对 lsass 使用访问掩码 `0x1410` —— 这是一个高度具体且可靠的检测指标,几乎零误报 - 编码的 PowerShell(`-EncodedCommand`)与具有脚本引擎的父进程相结合,是一个高可信度的执行指标 ## 作者 **Abdul Hadi** MCA 研究生 — Lovely Professional University [LinkedIn](https://www.linkedin.com/in/abdul-hadi-719810248/) [GitHub](https://github.com/meAlien)
标签:请求拦截