0xcgz/threat-intelligence-threat-hunting-wazuh
GitHub: 0xcgz/threat-intelligence-threat-hunting-wazuh
基于 Wazuh SIEM/XDR、Shuffle SOAR 及多源威胁情报构建的企业级 SOC 实验环境,实现从告警检测、情报富化到自动化封堵的完整安全运营闭环。
Stars: 0 | Forks: 0
# 🛡️ Wazuh XDR、SOAR 与威胁情报实验环境
**一个企业级 SOC 实验室:使用 Wazuh SIEM/XDR 进行检测,使用 Shuffle 进行 SOAR 自动化,并结合 VirusTotal、AbuseIPDB 和 AlienVault OTX 进行威胁情报富化。**







## 📖 目录
- [概述](#-overview)
- [实验环境](#️-lab-environment)
- [使用的技术](#-technologies-used)
- [SOC 架构](#️-soc-architecture)
- [安全运营工作流](#-security-operations-workflow)
- [实施演练](#-implementation-walkthrough)
- [关键成果](#-key-results)
- [展示的技能](#-skills-demonstrated)
- [仓库结构](#-repository-structure)
- [经验总结](#-lessons-learned)
- [后续改进方向](#-possible-next-steps)
- [许可证](#-license)
## 📋 概述
大多数家庭实验室的安全项目都止步于“我搭建了一个 SIEM 并收到了告警”。本项目更进一步,构建了真实分析师日常工作的**完整 SOC 循环**:收集遥测数据 → 检测 → 调查 → 响应 → 利用外部情报进行富化 → 将经验反馈至检测逻辑中。
**Wazuh** 是核心的 SIEM/XDR 平台,负责摄取来自 Windows、Linux 和边界防火墙的日志。**Shuffle** 负责 SOAR 自动化,将原始告警转化为编排响应,而不是让其沦为排队中的工单。三个威胁情报源 —— **VirusTotal**、**AbuseIPDB** 和 **AlienVault OTX** —— 利用真实的信誉数据对告警进行丰富,从而确保分诊决策有据可依。
**为何这很重要:** 在真实的 SOC 中,没有响应的检测只是噪音,而没有情报支撑的响应则是盲目猜测。该实验室旨在专门展示这种关键的连接纽带 —— 呈现一次攻击从初始遥测数据到自动化封堵的全过程,并在每一步的调查中融入威胁情报。
## 🖥️ 实验环境
| 系统 | 角色 | 用途 |
|---|---|---|
| **Wazuh Server** | SIEM / XDR | 集中式日志聚合、关联与检测 |
| **Windows Server 2022** | 受监控端点 | 主要攻击目标,Active Response 测试 |
| **Bodhi Linux** | 受监控端点 | 跨平台 Agent 验证 |
| **Kali Linux** | 攻击者主机 | 模拟权限提升 / 入侵尝试 |
| **pfSense Firewall** | 边界防御 | 网络层面可见性的 Syslog 源 |
| **Shuffle** | SOAR 平台 | 自动化的事件响应工作流 |
## 🧰 使用的技术
| 类别 | 工具 |
|---|---|
| **安全监控** | Wazuh SIEM、自定义检测规则、Wazuh Active Response |
| **操作系统** | Windows Server 2022、Bodhi Linux、Kali Linux |
| **网络安全** | pfSense Firewall、Syslog |
| **SOAR** | Shuffle、webhook 触发的工作流 |
| **威胁情报** | VirusTotal、AbuseIPDB、AlienVault OTX |
| **脚本编写** | PowerShell、Bash、Python |
## 🏗️ SOC 架构

端点和网络设备将日志转发至 Wazuh,Wazuh 随后根据自定义检测规则对事件进行关联。超过定义的严重性阈值的匹配项,会在本地触发 Wazuh Active Response 操作,或通过 webhook 发送给 Shuffle 以执行更广泛的编排响应 —— 这可能包括针对告警中 IOC 的威胁情报查询。
## 🔄 安全运营工作流
```
1. Data Collection Endpoint + firewall logs streamed into Wazuh
│
2. Detection Custom rules match on suspicious behavior
│
3. Analysis Alert enriched with threat intel context
│
4. Response Active Response / Shuffle playbook executes
│
5. Continuous Monitoring Findings feed back into detection tuning
```
## 📌 实施演练
### 任务 1 — Wazuh 部署与事件验证
**Wazuh Dashboard** — 集中查看环境中的事件、告警和 Agent 健康状况。

**Agent 注册** — 注册 Windows Server 2022 和 Bodhi Linux,并确认它们正在主动上报。

**边界可见性** — pfSense 防火墙日志通过 Syslog 转发至 Wazuh,填补了端点与网络遥测数据之间的空白。

### 任务 2 — XDR 检测与自动化响应
**检测权限提升** — 编写了自定义规则 `100101` 和 `100102` 以捕获 Windows 端点上未经授权的权限提升尝试 —— 这类行为通常是受损账户被用于横向移动的首要迹象。

**自动化封堵** — 无需等待分析师手动禁用账户,Wazuh 的 Active Response 会在规则匹配的瞬间自动触发,将暴露窗口从几分钟缩短至几秒钟。

### 任务 3 — 结合 Shuffle 的 SOAR 自动化
**事件响应工作流** — Wazuh 告警通过 webhook 推送至 Shuffle,随后自动化工作流接管:解析告警、提取相关的 IOC 并启动下游操作 —— 从而将分析师从手动、重复的分诊工作中解放出来。

### 任务 4 — 威胁情报集成
| 来源 | 规则 ID | 用途 |
|---|---|---|
| **VirusTotal** | `87105`, `100092` | 文件哈希 / 二进制文件信誉检查 |
| **AbuseIPDB** | `100004` | 为可疑连接提供 IP 信誉评分 |
| **AlienVault OTX** | `100220`, `100300`, `100301` | 根据开放威胁交换 pulse 进行 IOC 和域名匹配 |
**VirusTotal** — 可疑的二进制文件会自动与 VirusTotal 的多引擎扫描结果进行比对,分析师无需再手动切换到单独的工具进行查询。

**AbuseIPDB** — 对来自外部 IP 的连接进行滥用历史评分,提供了单凭原始防火墙日志无法提供的上下文。

**AlienVault OTX** — 将告警中观察到的域名和 IOC 与 OTX 威胁 pulse 进行交叉比对,标记出已知的恶意基础设施。

## ✅ 关键成果
| 能力 | 状态 |
|---|:---:|
| Wazuh 部署 | ✅ |
| Windows Agent 集成 | ✅ |
| Linux Agent 集成 | ✅ |
| pfSense Syslog 集成 | ✅ |
| 自定义检测规则 | ✅ |
| XDR 检测 | ✅ |
| Active Response(自动封堵) | ✅ |
| Shuffle SOAR 自动化 | ✅ |
| VirusTotal 集成 | ✅ |
| AbuseIPDB 集成 | ✅ |
| AlienVault OTX 集成 | ✅ |
## 🎯 展示的技能
- **SIEM 工程** — Wazuh 部署、日志源接入、自定义规则编写、事件关联
- **XDR 与端点防御** — 跨平台 Agent 管理、Active Response 配置
- **SOAR** — Shuffle 工作流设计、webhook 集成、自动化响应编排
- **威胁情报** — 多源 IOC 富化(文件、IP、域名),减少人工分诊时间
- **安全运营** — 端到端的事件生命周期,从检测到自动化封堵
- **网络安全** — 防火墙日志集成,从边界到端点的可见性
## 📂 仓库结构
```
threat-intelligence-threat-hunting-wazuh/
│
├── README.md
├── LICENSE
├── .gitignore
│
└── images/
├── soc-architecture.png
├── wazuh-dashboard.png
├── agents-connected.png
├── pfsense-syslog.png
├── privilege-escalation-alert.png
├── account-disabled.png
├── shuffle-workflow.png
├── virustotal-detection.png
├── abuseipdb-enrichment.png
└── otx-match.png
```
## 💡 经验总结
- **检测效果取决于背后的规则调优** — 权限提升规则经过了多次迭代以减少误报,之后才具备足够的可靠性以自动触发 Active Response。
- **自动化需要设置护栏** — Active Response 功能强大,但如果规则范围过大则会带来风险;在启用自动账户锁定之前,将其严格限定在一个特定的、经过充分测试的触发条件下是必不可少的。
- **威胁情报只有足够快才有用** — 富化查询需要在分析师的分诊时间窗口内完成,否则它们只会成为事后审查的额外噪音。
## 🔭 后续改进方向
- 将每条检测规则映射到相应的 MITRE ATT&CK 技术,以构建覆盖矩阵
- 增加第二条攻击链(例如横向移动或数据渗出),以演示多阶段检测
- 导出 Wazuh 示例规则 XML 以及 Shuffle 工作流 JSON,作为可重用的参考工件
- 添加误报调优日志,以展示随着时间推移的规则优化过程
## 📄 许可证
基于 [MIT License](LICENSE) 共享 —— 欢迎参考其结构和实现方法来构建您自己的 SOC 实验项目。
## 👤 作者
**0xcgz** — [github.com/0xcgz](https://github.com/0xcgz)
标签:AI合规, SOAR, Wazuh, 威胁情报, 安全运营, 应用安全, 开发者工具, 扫描框架, 自动化响应, 逆向工具