Strixhack/wazuh-soc-homelab
GitHub: Strixhack/wazuh-soc-homelab
基于 Wazuh SIEM 的安全运营中心家庭实验室,通过 10 种 MITRE ATT&CK 攻击模拟验证自定义检测规则的有效性,实现 100% 检出率。
Stars: 1 | Forks: 0
# 🛡️ Wazuh SOC 家庭实验室 — 威胁检测与攻击模拟





**网络安全理学硕士主要项目 | SRH Berlin 应用技术大学**
一个生产级的自建安全运营中心 (SOC) 家庭实验室,旨在利用 Wazuh SIEM/XDR、Sysmon 和 MITRE ATT&CK 框架来模拟、检测和响应真实世界的网络攻击。
[📊 真实结果](#-real-lab-results) · [⚔️ 攻击](#️-10-attack-simulations) · [🗺️ MITRE 覆盖率](#️-mitre-attck-coverage) · [📋 自定义规则](#-custom-detection-rules)
## 📊 真实实验室结果
| 指标 | 数值 |
|--------|-------|
| 映射到 MITRE 的警报总数 | **10,345** |
| 12级及以上的严重警报 | **50** |
| 检出率 | **10/10 — 100%** |
| 受监控的 Windows Agent | **2** |
| 自定义检测规则 | **13** |
| Sigma 规则 | **5** |
| 覆盖的 MITRE 战术 | **14** |
| 检测到的 MITRE 技术 | **30+** |
| 平均 MTTD | **< 30 秒** |
| 单日警报峰值 | **1,500+** |
## 🏗️ 实验室架构
```
┌─────────────────────────────────────────────────────────┐
│ HOST MACHINE (16GB RAM) │
│ │
│ ┌─────────────────────┐ ┌─────────────────────────┐ │
│ │ Ubuntu 22.04 VM │ │ Windows 10 VM │ │
│ │ 4GB RAM │ │ 4GB RAM │ │
│ │ Wazuh Manager │ │ Sysmon + Wazuh Agent │ │
│ │ Wazuh Indexer │ │ 192.168.56.105 │ │
│ │ Wazuh Dashboard │ └─────────────────────────┘ │
│ │ 192.168.56.104 │ │
│ └─────────────────────┘ │
│ ┌─────────────────────┐ │
│ │ Kali Linux VM │ ← Attacker machine │
│ │ 2GB RAM │ 192.168.56.106 │
│ └─────────────────────┘ │
└─────────────────────────────────────────────────────────┘
NAT (internet) + Host-Only (192.168.56.x)
```
| 组件 | 角色 | IP 地址 |
|-----------|------|------------|
| Ubuntu 22.04 VM | Wazuh SIEM — Manager + Indexer + Dashboard | 192.168.56.104 |
| Windows 10 VM | 受监控端点 — Sysmon + Wazuh Agent | 192.168.56.105 |
| Kali Linux VM | 攻击机 — 攻击模拟 | 192.168.56.106 |
**网络:** 双网卡 — NAT (互联网访问) + Host-Only (隔离实验环境,混杂模式:Allow All)
## 🗺️ MITRE ATT&CK 覆盖率

*完整的 ATT&CK 框架视图 — 在 4 个月内检测到 14 项战术,30+ 项技术*

*在 4 个月的攻击模拟中产生了 10,345 个映射到 MITRE 的警报*
## 🖥️ Dashboard 概览

*Wazuh 威胁狩猎 Dashboard — 共 499 个警报,其中 50 个严重警报 (Level 12+)*
## ⚔️ 10 次攻击模拟 — 100% 检出率
| # | 攻击 | MITRE ID | 战术 | 严重程度 | 规则 | 已检测 |
|---|--------|----------|--------|----------|------|----------|
| 1 | SMB 暴力破解 | T1110.002 | 凭据获取 | 🟠 高危 | 60204 | ✅ |
| 2 | Mimikatz 凭据转储 | T1003.001 | 凭据获取 | 🔴 严重 | 100002 | ✅ |
| 3 | 反向 Shell / C2 | T1059.001 | 执行 | 🔴 严重 | 100003 | ✅ |
| 4 | PowerShell 混淆 | T1027 | 防御规避 | 🔴 严重 | 100004 | ✅ |
| 5 | 权限提升 | T1548.002 | 权限提升 | 🔴 严重 | 100006 | ✅ |
| 6 | 注册表 Run 键持久化 | T1547.001 | 持久化 | 🔴 严重 | 92302 | ✅ |
| 7 | 网络端口扫描 | T1046 | 发现 | 🟡 中危 | 100008 | ✅ |
| 8 | 文件完整性违规 | T1565.001 | 影响 | 🟠 高危 | 550/554 | ✅ |
| 9 | 本地账户发现 | T1087.001 | 发现 | 🟢 低危 | 100009 | ✅ |
| 10 | 事件日志清除 | T1070.001 | 防御规避 | 🔴 严重 | 100010 | ✅ |
**检出率:10/10 — 100%**
## ⏱️ 检测性能 (MTTD)
| 攻击 | MTTD | 检测方法 |
|--------|------|-----------------|
| Mimikatz 凭据转储 | ~2 秒 | Sysmon EID 1 — 进程名匹配 |
| 反向 Shell / C2 | ~2 秒 | Sysmon EID 3 — 端口 4444 出站 |
| PowerShell 混淆 | ~1 秒 | EID 4104 — 脚本块日志记录 |
| 权限提升 | ~1 秒 | Sysmon EID 1 — schtasks /ru SYSTEM |
| 注册表持久化 | ~1 秒 | Sysmon EID 13 — Run 键被修改 |
| 文件完整性违规 | ~15 秒 | FIM 实时监控 — SHA256 哈希不匹配 |
| SMB 暴力破解 | ~3 分钟 | EID 4625 阈值 — 10 次失败 |
**所有 10 次攻击的平均 MTTD:< 30 秒**
## 🛠️ 工具与技术
| 类别 | 工具 | 用途 |
|----------|------|---------|
| SIEM/XDR | Wazuh 4.7 | 集中式检测与告警平台 |
| 端点遥测 | Sysmon | 丰富的 Windows 进程/网络/注册表事件 |
| 威胁情报 | VirusTotal API | 自动化 IOC 哈希 enrichment |
| 暴力破解 | CrackMapExec | SMB 凭据喷射 |
| 凭据转储 | Mimikatz | LSASS 内存凭据提取 |
| C2 / 漏洞利用 | Metasploit / msfvenom | 反向 shell payload 生成 |
| 侦察 | Nmap | 网络端口和服务扫描 |
| 平台 | VirtualBox 7.2.8 | 实验室 hypervisor |
| 操作系统 | Ubuntu 22.04 | Wazuh SIEM 主机 |
## 📋 自定义检测规则
所有 13 条自定义规则位于 `/configs/local_rules.xml`
Sigma 格式的对应文件位于 `/sigma-rules/sigma-rules.yml`
| 规则 ID | 描述 | MITRE | 级别 |
|---------|-------------|-------|-------|
| 100001 | 检测到 LSASS 内存访问 | T1003.001 | 14 |
| 100002 | 检测到 Mimikatz 执行 | T1003 | 14 |
| 100003 | 可疑的出站 C2 连接 | T1059.001 | 12 |
| 100004 | PowerShell 编码命令 | T1027 | 12 |
| 100005 | PowerShell 下载执行 (download cradle) | T1059.001 | 12 |
| 100006 | 计划任务 SYSTEM 权限执行 | T1548.002 | 12 |
| 100007 | 注册表 Run 键被修改 | T1547.001 | 10 |
| 100008 | 检测到入站端口扫描 | T1046 | 10 |
| 100009 | 本地账户枚举 | T1087.001 | 8 |
| 100010 | Windows 事件日志被清除 | T1070.001 | 14 |
| 100011 | 安全审核日志被清除 | T1070.001 | 14 |
| 100012 | 可疑的 PowerShell 脚本块 | T1059.001 | 12 |
| 100013 | 创建计划任务 EID 4698 | T1053.005 | 14 |
## 📁 仓库结构
| 文件夹 | 内容 |
|--------|----------|
| `/architecture` | 实验室网络图表和拓扑 |
| `/configs` | Wazuh ossec.conf、自定义检测规则、Sysmon 配置 |
| `/attack-simulations` | 所有 10 次攻击的分步执行过程 |
| `/ir-reports` | 每次攻击场景的完整事件响应报告 |
| `/mitre-coverage` | 完整的 MITRE ATT&CK 覆盖矩阵 |
| `/sigma-rules` | Sigma 格式检测规则 |
| `/Screenshots` | 28 张 Wazuh Dashboard 告警截图 |
## 🔧 展示的核心技能
- ✅ SIEM 部署与配置 (基于 Ubuntu 22.04 的 Wazuh)
- ✅ 自定义检测规则工程 (13 条规则,PCRE2 正则表达式)
- ✅ Sigma 规则编写 (供应商中立的检测格式)
- ✅ MITRE ATT&CK 框架映射 (14 项战术,30+ 项技术)
- ✅ 事件响应文档化和分析师 runbook
- ✅ 威胁情报集成 (VirusTotal API enrichment)
- ✅ Windows 端点取证 (Sysmon EID,Windows 事件 ID)
- ✅ 攻击模拟与检测验证
- ✅ 日志分析与告警分类
## 🚀 快速开始 — 实验室设置
### 前置条件
- VirtualBox 7.2.8
- 至少 16GB RAM
- Ubuntu 22.04 VM (已安装 Wazuh)
- Windows 10 VM
- Kali Linux VM
### 网络配置
```
Each VM:
Adapter 1 → NAT (internet access)
Adapter 2 → Host-Only (lab communication)
Promiscuous Mode → Allow All
```
### Agent 安装
```
# 在 Windows VM 上 — 以管理员身份运行 PowerShell
msiexec.exe /i wazuh-agent.msi WAZUH_MANAGER="192.168.56.104" WAZUH_AGENT_NAME="Windows-SOC-Lab" /q
NET START WazuhSvc
```
### Sysmon 安装
```
# 在 Windows VM 上
.\Sysmon64.exe -accepteula -i C:\SOC-Lab\sysmon-custom.xml
```
## 👤 作者
**Kundan Vidhate**
网络安全理学硕士 — SRH Berlin 应用技术大学
[](https://www.linkedin.com/in/kundan-vidhate-3479833b1)
[](https://github.com/Strixhack)
## 📄 许可证
MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。
所有攻击模拟均在作者拥有和控制的系统上的独立实验室环境中进行。仅供教育和个人作品集展示用途。标签:AMSI绕过, CTI, Wazuh, x64dbg, 威胁检测, 安全实验环境, 安全运营, 库, 应急响应, 扫描框架, 逆向工具