txarpan/wazuh-soc-detection-lab
GitHub: txarpan/wazuh-soc-detection-lab
这是一个基于 Docker 的 Wazuh SIEM 综合实验室,用于模拟真实攻击、开发自定义检测规则并练习 SOC 分析与告警分流。
Stars: 1 | Forks: 0
# 检测工程与 SOC 实验室 — Wazuh SIEM (Docker 化)
一个旨在模拟真实世界攻击场景、开发自定义检测规则
并练习告警分流的动手实践检测工程与 SOC 分析实验室 — 所有内容均映射到 MITRE ATT&CK 框架。
## 实验室架构
| 组件 | 详情 |
|-----------|---------|
| SIEM | Wazuh 4.14.3 (Docker 化, 单节点) |
| 攻击者 | Kali Linux 2023 — 192.168.0.161 |
| 受害者 (Linux) | Ubuntu 24.04.4 LTS — 192.168.0.133 |
| 受害者 (Windows) | Windows 10 Home — 192.168.0.144 |
| 宿主机 | Fedora Linux — 192.168.0.224 |
| 工具 | Hydra, Nmap, Wazuh Agent |
## 本实验室演示内容
- 使用 Docker 部署生产级 SIEM
- 从零开始编写自定义 Wazuh 检测规则
- 模拟映射到 MITRE ATT&CK 技术的攻击
- 作为 SOC 分析员对告警进行分流和调查
- 以专业案例研究格式记录发现
- 跨 Linux 和 Windows 端点的多平台检测
- 误报调优和告警降噪
- 用于自动阻止攻击者 IP 的基础 SOAR 自动化
## 已完成的攻击场景
| # | 攻击 | MITRE 技术 | 检测规则 | 严重程度 |
|---|--------|----------------|----------------|----------|
| 1 | SSH 暴力破解 (Hydra) | T1110.001 — Password Guessing | 自定义规则 100002 | 高 |
| 2 | 暴力破解后活动 | T1078 — Valid Accounts | 自定义规则 100003 | 严重 |
| 3 | Nmap SYN 端口扫描 | T1046 — Network Service Discovery | 自定义规则 100004/100005 | 中 |
| 4 | 通过 Sudo 提权 | T1548.003 — Sudo Abuse | 自定义规则 100006/100007/100008 | 高 |
| 5 | 凭证访问 — /etc/shadow | T1003.008 — /etc/passwd and /etc/shadow | 自定义规则 100006 | 严重 |
| 6 | Windows 暴力破解 (runas) | T1110.001 — Password Guessing | 自定义规则 100009 | 高 |
## 自定义检测规则
位于 `/rules/`
| 规则 ID | 描述 | 触发条件 | MITRE |
|---------|-------------|---------|-------|
| 100001 | SSH 暴力破解 — 无效用户 | 规则 5710 60秒内 4 次以上失败 | T1110.001 |
| 100002 | SSH 暴力破解 — 有效用户 | 规则 5760 60秒内 4 次以上失败 | T1110.001 |
| 100003 | 暴力破解后账户失陷 | 来自相同 IP 的暴力破解后登录 | T1078 |
| 100004 | 检测到端口扫描 | 10秒内 20 次以上 UFW 阻止 | T1046 |
| 100005 | UFW 阻止连接 | UFW BLOCK 内核日志匹配 | T1046 |
| 100006 | Sudo 读取 /etc/shadow — 凭证窃取 | 检测到 sudo cat /etc/shadow | T1548.003, T1003.008 |
| 100007 | Sudo 权限确认 | 检测到 sudo whoami | T1548.003 |
| 100008 | Sudo 读取 /etc/passwd — 用户枚举 | 检测到 sudo cat /etc/passwd | T1548.003 |
| 100009 | Windows 暴力破解检测 | 规则 60122 60秒内 5 次以上登录失败 | T1110.001 |
| 100010 | Windows 暴力破解后失陷 | 暴力破解后登录 | T1078 |
## 案例研究
| ID | 标题 | 状态 |
|----|-------|--------|
| [CS-001](report/CS-001-SSH-BruteForce.md) | SSH 暴力破解攻击检测 | ✅ 已完成 |
| [CS-002](report/CS-002-PortScan-Nmap.md) | 网络端口扫描检测 | ✅ 已完成 |
| [CS-003](report/CS-003-PrivilegeEscalation.md) | 权限提升与凭证访问 | ✅ 已完成 |
| [CS-004](report/CS-004-Windows-BruteForce.md) | Windows 暴力破解检测 | ✅ 已完成 |
## 仓库结构
```
wazuh-soc-detection-lab/
├── README.md
├── rules/
│ └── local_rules.xml # 10 custom detection rules, MITRE mapped
├── report/
│ ├── CS-001-SSH-BruteForce.md # Hydra SSH brute force detection
│ ├── CS-002-PortScan-Nmap.md # Nmap SYN port scan detection
│ ├── CS-003-PrivilegeEscalation.md # Sudo abuse & credential access
│ ├── CS-004-Windows-BruteForce.md # Windows failed logon detection
│ └── FP-Tuning-Report.md # False positive analysis & tuning
├── attack-simulation/
│ └── auto-response/
│ ├── block_attacker.py # SOAR auto-response script
│ └── README.md # Script documentation & proof
├── logs/ # Sample log evidence
└── screenshots/ # Wazuh dashboard evidence
```
## 工具与技术
`Wazuh SIEM` `Docker` `Kali Linux` `Ubuntu` `Windows 10`
`Hydra` `Nmap` `Python` `MITRE ATT&CK` `Bash` `PowerShell`
`UFW` `SSH` `Linux` `VirtualBox`
## SOAR 自动化
基础自动响应脚本 (`attack-simulation/auto-response/block_attacker.py`)
监控 Wazuh API 的规则 100003 告警,并通过 UFW 自动
阻止攻击者 IP。在实验室测试期间成功通过 Wazuh API
身份验证。执行证明和用法请参阅脚本 README。
## 作者
**Arpan Mukherjee**
Cybersecurity Engineer | Detection Engineering | SOC Analyst |
RHCSA Certified | Penetration Tester | Security Researcher | BugBounty Hunter
[GitHub](https://github.com/txarpan)
标签:AMSI绕过, Cloudflare, CTI, Docker, MITRE ATT&CK, Nmap 扫描, SOAR, SSH 暴力破解, Sudo 滥用, Wazuh, Wazuh Agent, Windows 10, 凭据访问, 告警分析, 威胁检测, 安全运营, 安全防御评估, 密码猜测, 扫描框架, 提权, 插件系统, 数据统计, 端口扫描, 自定义规则, 误报调优, 请求拦截, 逆向工具