shreyansh-gera/soc-automation-lab
GitHub: shreyansh-gera/soc-automation-lab
一个基于 Wazuh SIEM 的家庭 SOC 自动化实验室,提供端点监控、实时告警推送和 MITRE ATT&CK 映射的完整安全运营流程演示。
Stars: 0 | Forks: 0
# SOC 自动化实验室
一个模拟 SOC 操作的家庭实验室,包含 Wazuh SIEM、Sysmon endpoint 监控,
以及一个自定义的实时告警 pipeline,可将告警发送至 Discord。
## 架构
| 虚拟机 | 角色 | 网络接口 | IP |
| Ubuntu 24.04 | Wazuh SIEM + 自定义 Discord 集成 | enp0s8 | 192.168.56.101 |
| Windows 11 | 受害者 endpoint,Wazuh Agent + Sysmon | Ethernet 2 | 192.168.56.102 |
| Kali Linux | 攻击者 | eth1 | 192.168.56.103 |
所有三台机器均运行在 VirtualBox 的 host-only 网络上,与互联网隔离。
## 演示
请查看 `videos/brute-force-demo.mp4` 获取实时录屏,内容展示:
- Kali 运行 Hydra SSH brute force
- 原始 Wazuh 告警实时流式传输 (`alerts.json`)
- Discord 接收带有 MITRE ATT&CK 映射的格式化告警
[](videos/brute-force-demo.mp4)
*点击上方图片观看演示视频。*
录屏展示了:
- Kali 运行 Hydra SSH brute force
- 原始 Wazuh 告警实时流式传输 (`alerts.json`)
- Discord 接收带有 MITRE ATT&CK 映射的格式化告警
## 截图
### SMB 枚举检测

### Windows 11 受害者连接到 Wazuh

## 使用的工具
- **Wazuh** — SIEM,日志分析,MITRE ATT&CK 映射
- **Sysmon** — Windows endpoint 可见性
- **Python** — 自定义 Wazuh 到 Discord 集成
- **Kali Linux** — 攻击模拟 (Hydra, Nmap, enum4linux)
## 检测到的攻击场景
### SSH 暴力破解 (MITRE T1110 — Credential Access)
模拟使用 Hydra 针对 Wazuh/Ubuntu 服务器发起凭证填充攻击。
**使用的命令:**
```
hydra -l root -P /usr/share/wordlists/rockyou.txt 192.168.56.101 ssh -t 4
```
**触发的规则:**
- Level 10 — Multiple authentication failures (Rule 40111)
- Level 10 — PAM: Multiple failed logins in a small period of time (Rule 5551)
- Level 8 — Maximum authentication attempts exceeded (Rule 5758)
- Level 5 — sshd: authentication failed (Rule 5760)
映射的 MITRE 技术:**T1110.001** (Password Guessing),**T1021.004** (SSH / Lateral Movement)
### 2. 网络 & SMB 枚举 (MITRE T1135 — Network Share Discovery)
针对 Windows 11 受害者执行侦察,以枚举共享、用户
和工作组信息。
**使用的命令:**
```
enum4linux -a 192.168.56.102
nmap --script smb-enum-shares,smb-enum-users -p 445 192.168.56.102
```
**结果:** 枚举出了目标上的工作组名称、NetBIOS 服务信息和已知用户名。
Wazuh 标记了 Windows11-Victim agent 上的相关活动,
包括针对放入恶意软件相关文件夹的可执行文件触发的 Level 15 严重告警,
以及由于扫描数据量导致事件队列溢出而触发的 Level 12 告警。
### 3. Process Injection 误报调优
使用自定义本地规则,识别并抑制了一个反复出现的误报 (Rule 92910 —
OneDrive 进程合法访问 Explorer,被标记为可能的 process injection)。
这展示了真实的告警调优实践,以减少嘈杂检测带来的分析师疲劳。
## 工作原理
1. Wazuh manager 监控 agent 日志 (Windows Sysmon + Ubuntu syslog/auth)
2. 在达到或超过配置的严重性级别而触发规则匹配时,将执行自定义 Python
集成脚本
3. 该脚本解析告警 JSON,提取 rule level、描述、agent
名称以及 MITRE ATT&CK 战术/技术
4. 通过 webhook 将格式化后的消息实时发送至 Discord
## 文件
- `configs/ossec.conf` — Wazuh manager 配置
- `configs/custom-discord` — Python 集成脚本(webhook 已脱敏)
- `configs/local_rules.xml` — 自定义规则调优(抑制误报)
## 备注
在测试期间,Wazuh dashboard UI 出现了持续的 index-pattern 过滤器缓存问题,
导致 Threat Hunting 视图无法显示事件,尽管
告警已正确生成并建立索引(已通过直接的 OpenSearch 查询验证
— 确认已索引 741+ 条告警)。底层的检测到告警 pipeline
(manager → 集成 → Discord)独立于 dashboard UI
运行,并已通过 `alerts.json` 和实时的 Discord 推送得到了全面验证。
## 关键收获
- 跨多个操作系统平台部署并配置了 Wazuh SIEM
- 构建了自定义 Python 集成,解析安全告警以提供
实时的、带 MITRE 映射的通知
- 模拟并验证了对 MITRE ATT&CK **T1110** (Brute Force) 和
**T1135** (Network Share Discovery) 的检测
- 执行了告警调优以减少误报噪音
- 调试了真实的基础设施问题,包括 Docker Swarm 镜像下载
超时、OpenSearch 内存争用,以及攻击者虚拟机上的
文件系统损坏恢复
标签:AMSI绕过, SOC实验室, Sysmon, Wazuh, 威胁检测, 安全告警, 安全运营, 扫描框架, 请求拦截, 逆向工具