m4alex/wazuh-soc-homelab
GitHub: m4alex/wazuh-soc-homelab
一个基于 Wazuh、Sysmon 和 Kali Linux 构建的全功能 SOC 家庭实验室,用于模拟真实的安全运营中心威胁检测与告警分类流程。
Stars: 0 | Forks: 0
# Wazuh SOC 家庭实验室
**一个基于 VirtualBox 构建的全功能安全运营中心 (SOC) 家庭实验室——展示了使用开源工具进行真实世界威胁检测、告警分类、MITRE ATT&CK 映射和检测工程。**
## 为什么构建这个实验室
作为一名以 SOC 分析师岗位为目标的应届计算机科学毕业生,我发现自己简历上的一个短板:缺乏实操 SIEM 经验。与其去完成一个按部就班的教程,我选择从零开始构建这个实验室——在此过程中排除了真实的网络错误配置、管理员权限故障以及 XML 解析错误。最终的成果是一个三虚拟机隔离实验室环境,它完美复刻了入门级 SOC 的核心组件:一个 SIEM 平台、一台具有增强日志记录功能的受监控 Windows 端点,以及一台用于威胁模拟的 Kali Linux 攻击机。
## 实验室架构
```
┌─────────────────────────────────────────────────────┐
│ VirtualBox Host (Windows 11) │
│ RAM: 16GB | D:\VMs │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │
│ │ Wazuh-Manager│ │Windows-Victim│ │ Kali │ │
│ │ Ubuntu 24.04 │ │ Win11 Eval │ │ Linux │ │
│ │ 4GB | 2vCPU │ │ 4GB | 2vCPU │ │2GB|2vCPU │ │
│ │192.168.56.102│ │192.168.56.103│ │192.168.56 │ │
│ │ │ │ │ │ .104 │ │
│ │ Wazuh 4.14.5 │ │ Wazuh Agent │ │ Hydra │ │
│ │ Manager + │ │ + Sysmon │ │ Nmap │ │
│ │ Indexer + │ │ (olafhartong │ │ etc. │ │
│ │ Dashboard │ │ modular) │ │ │ │
│ └──────────────┘ └──────────────┘ └───────────┘ │
│ │
│ All VMs: Host-Only Network (isolated) │
│ Wazuh/Windows also: NAT (install/updates only) │
└─────────────────────────────────────────────────────┘
```
| 组件 | 角色 | IP | 关键工具 |
|---|---|---|---|
| Wazuh-Manager (Ubuntu 24.04) | SIEM — 收集、关联、仪表板展示 | 192.168.56.102 | Wazuh 4.14.5 (manager + indexer + dashboard) |
| Windows-Victim (Win11 Enterprise Eval) | 受监控端点 | 192.168.56.103 | Wazuh Agent, Sysmon (olafhartong modular config) |
| Kali Linux 2026.1 | 攻击者模拟 | 192.168.56.104 | Hydra, Nmap |
**网络设计:** 所有三个虚拟机通过 VirtualBox host-only adapter (192.168.56.0/24) 进行通信,与家庭网络完全隔离。Wazuh-Manager 和 Windows-Victim 拥有第二个 NAT adapter,仅在安装期间用于访问互联网。
### 实时实验室 — Agent 处于活跃状态且 Sysmon 数据正在传输


## 这个实验室的与众不同之处
大多数 Wazuh 家庭实验室仓库只演示了“发起攻击 → 收到告警”。本实验室更进一步:
- **Sysmon 集成** — olafhartong 的 sysmon-modular 配置将丰富后的进程/网络/文件遥测数据输入到 Wazuh 中,提供了默认 Windows 日志记录无法提供的 Event ID 级别的可见性
- **真实的分析师分类** — 每个检测条目都包含分析师的推理过程,而不仅仅是截图。对误报的调查会深究根本原因,而不是简单地忽略
- **检测差距分析** — 发现了基于主机的 agent(Wazuh + Sysmon)无法检测被过滤的端口扫描;并记录了为什么生产环境的 SOC 需要将基于主机和基于网络的传感器结合使用
- **自定义检测规则** — 编写了一条 Wazuh 规则来抑制已知的误报(将 Edge 自动更新错误归类为恶意软件下载),以减少告警疲劳
- **合规性映射** — 每条规则在适用的地方都映射到了 MITRE ATT&CK、NIST-800-53 和 PCI DSS
## 检测与调查
| # | 场景 | 工具 | MITRE | 触发的规则 | 结果 |
|---|---|---|---|---|---|
| 1 | SSH 暴力破解 | Hydra | T1110.001 — Brute Force: Password Guessing | 5760, 2502, 5557, 2501 | 检测到 156 次认证失败;模式关联在 level 10 触发 |
| 2 | 端口扫描 — 侦察 | Nmap -sV | T1046 — Network Service Discovery | 无 | **记录了检测差距** — 基于主机的 agent 对过滤后的扫描处于盲区 |
| 3 | 文件完整性监控 | PowerShell | T1565 — Data Manipulation | 554, 550, 553 | 捕获了完整的文件生命周期:在 C:\MonitoredFiles 上进行 添加 → 修改 → 删除 |
| 4 | 误报分类 | Baseline | Multiple | 92910, 92213, 92058, 204 | 调查了 5 个高危告警;经记录的推理确认全部为良性 |
| 5 | 自定义规则部署 | net user / SSH | T1110.001, T1136.001 | 100001, 100002, 100003 | 编写、部署了 3 条自定义规则到活跃 manager 并进行了验证 |
## 仓库结构
```
wazuh-soc-homelab/
├── README.md ← you are here
├── docs/
│ ├── 01-lab-setup.md ← VirtualBox + VM build walkthrough
│ ├── 02-wazuh-install.md ← Wazuh manager install + dashboard access
│ ├── 03-windows-agent-sysmon.md ← Agent deploy + Sysmon integration
│ ├── 04-detection-ssh-bruteforce.md ← Attack simulation + triage write-up
│ ├── 05-detection-nmap-gap.md ← Recon scan + detection gap analysis
│ └── 06-false-positive-triage.md ← 5-alert triage exercise
├── configs/
│ └── wazuh-rules/
│ └── local_rules.xml ← Custom detection + suppression rules
└── screenshots/
└── (evidence screenshots referenced in docs)
```
## 关键经验教训
1. **基于主机的监控在网络侦察方面存在盲点。** 端点上的 Wazuh + Sysmon 仅记录操作系统所看到的内容——但当 Windows Defender Firewall 在 Nmap 探测到达 socket 之前就将其静默丢弃时,主机不会生成任何日志。捕获端口扫描需要基于网络的传感器(如 Suricata、Zeek)来监控原始流量。
2. **即使在一个只有 3 台机器的实验室中,告警疲劳也是真实存在的。** olafhartong 的 Sysmon 规则集针对 OneDrive shell 集成和 Edge 自动更新生成了高危告警——这两者都是完全正常的行为。调优规则和编写抑制逻辑与编写检测同等重要。
3. **MITRE ATT&CK 框架使分析师的推理过程具有通用性。** 将每个告警映射到一个技术 ID(如 T1110.001、T1046)在检测、分类和报告之间建立了一种通用语言——即使底层的工具发生了改变。
4. **排障是工作的一部分。** 在构建过程中遇到了真实的问题:由于 NAT 配置错误导致 Ubuntu 安装失败,由于缺少管理员权限导致 Wazuh agent MSI 静默失败,Sysmon ossec.conf 条目中存在区分大小写的拼写错误导致日志摄入中断。在设置文档中记录了对每一个问题的诊断和修复过程。
## 展示的技能
`Wazuh SIEM` `Sysmon` `Windows Event Logs` `Log Analysis` `Alert Triage` `MITRE ATT&CK` `Detection Engineering` `False Positive Analysis` `Network Isolation` `VirtualBox` `Ubuntu Server` `Kali Linux` `Hydra` `Nmap` `SSH` `PowerShell` `Bash` `NIST-800-53` `PCI DSS`
## 设置指南
请参阅 [docs/01-lab-setup.md](docs/01-lab-setup.md) 从零开始构建此实验室。所使用的一切均是免费和开源的。
**预计构建时间:** 3–5 小时(包含排障时间)
**成本:** $0
标签:AI合规, AMSI绕过, CTI, Wazuh, x64dbg, 威胁检测, 安全运营中心, 实验环境, 应用安全, 网络映射