ZombieLee117/Threat_Hunting_Training
GitHub: ZombieLee117/Threat_Hunting_Training
基于 Wazuh SIEM 的互动式威胁狩猎培训平台,提供在线 KQL 查询练习和本地 Docker 实时实验室,通过随机化攻击数据帮助学员掌握真实威胁狩猎技能。
Stars: 0 | Forks: 0
# 威胁狩猎培训平台
### Wazuh SIEM · KQL 查询练习 · MITRE ATT&CK · 实时实验室环境
这是一个互动式、自定进度的威胁狩猎培训平台,包含两个互补的组成部分——一个基于浏览器的 Web 训练器和学生在自己本地机器上运行的完整 Wazuh 实时实验室环境。
## 两部分学习路径
| 步骤 | 组件 | 功能说明 |
|---|---|---|
| 1 | **Web 训练器**(在线) | 在模拟的 SIEM 环境中学习 KQL 语法、Wazuh 字段名、MITRE 映射和 UI 导航 |
| 2 | **实时实验室**(本地 Docker) | 启动真实的 Wazuh,在真实界面中狩猎随机生成的训练数据 |
## Web 训练器
**在线链接:** `https://zombielee117.github.io/Threat_Hunting_With_Wazuh/`
| 场景 | 攻击类型 | MITRE 技术 |
|---|---|---|
| 1 | SSH 暴力破解检测 | T1110.001 |
| 2 | 命名管道提权 | T1134.001 |
| 3 | 恶意宏与释放器 | T1059.005, T1204.002 |
| 4 | Apache Rootkit 检测 | T1014, T1543.002 |
| 5 | 数据集中与外泄 | T1560.001, T1041 |
**功能:**
- 模拟的 Wazuh Discover 界面 —— 编写真实的 KQL 并查看结果
- 精确的 KQL 语法验证
- 针对每个场景的 Wazuh UI 导航演练
- MITRE ATT&CK 技术映射及专属问题
- 分栏布局 —— 查询终端与问题并排显示
- 侧边栏提供 KQL + MITRE 参考页面
## 实时实验室环境
这是一个运行在您本地机器上的基于 Docker 的 Wazuh 技术栈。每次启动时,Python 脚本都会注入一组全新的随机训练事件 —— 每次运行的 IoC 值都不同,因此学生无法记住答案。
### 环境要求 (Windows)
- Windows 10 或 11(64 位)
- [Docker Desktop for Windows](https://www.docker.com/products/docker-desktop/) — 免费
- 最低 8GB RAM
- 15GB 可用磁盘空间
### 设置说明
1. 安装 Docker Desktop 并确保其正在运行
2. 下载或克隆此仓库
3. 以管理员身份打开 **PowerShell**
4. 导航至 `lab` 文件夹:
cd path\to\Threat_Hunting_With_Wazuh\lab
5. 运行安装脚本:
.\setup.ps1
6. 等待 3-5 分钟,让 Wazuh 下载并启动
7. 准备就绪后,脚本会自动打开 `https://localhost`
**登录信息:** `admin` / `SecretPassword`
### 获取您的随机 IoC 值
安装完成后,运行以下命令以查看注入到您本次会话中的具体值:
```
docker logs log-injector
```
这将显示您本次运行中的攻击者 IP、被攻陷的用户名、释放器文件名、管道名以及数据外泄端口。
### 实时实验室指南
在浏览器中打开 `lab-guide/index.html`,获取在真实 Wazuh 界面中进行每个场景狩猎的逐步指导。
### 停止实验室
```
docker-compose down
```
## 仓库结构
```
Threat_Hunting_With_Wazuh/
├── index.html Web trainer (live at GitHub Pages URL)
├── README.md
├── lab/
│ ├── docker-compose.yml Full Wazuh stack
│ ├── setup.ps1 Windows setup script (run as Administrator)
│ ├── inject-logs.py Randomized log data injector
│ └── config/ Auto-generated by setup script
└── lab-guide/
└── index.html Step-by-step live lab guide
```
## 随机化原理
每次运行 `setup.ps1` 时,`inject-logs.py` 都会为每个 IoC 生成新值 —— 包括攻击者 IP、域用户名、释放器可执行文件名、命名管道标识符、Apache 模块名、凭证收集文件名、归档文件名和数据外泄端口。攻击模式和 Wazuh 字段名保持不变,只有具体值会改变。这迫使学生必须去真正进行狩猎,而不是回忆记住的答案。
## 日志数据声明
所有 IoC 值均为程序生成的虚构数据。攻击模式、Wazuh 规则 ID、Sysmon 事件 ID 和 KQL 字段名均反映了集成了 Sysmon 的真实 Wazuh 4.7 部署环境。
标签:AI合规, Docker, Wazuh, Web归档检索, 后端开发, 安全培训, 安全防御评估, 请求拦截, 逆向工具