khalilullahpak28-art/MITRE-ATT-CK-Mapped-Detection-Engineering-Threat-Hunting-Lab

GitHub: khalilullahpak28-art/MITRE-ATT-CK-Mapped-Detection-Engineering-Threat-Hunting-Lab

基于 Wazuh SIEM 与 MITRE ATT&CK 攻击模拟的 SOC 检测工程项目,通过差距分析开发自定义检测规则并集成 MISP 威胁情报以弥补安全可见性盲区。

Stars: 0 | Forks: 0

# MITRE-ATT-CK-Mapped-Detection-Engineering-Threat-Hunting-Lab SOC 检测工程项目,使用 Wazuh SIEM 通过基于 MITRE ATT&CK 的攻击模拟来识别并弥补检测差距。该项目包括自定义规则开发、验证,以及通过自定义构建的 pipeline 集成 MISP 威胁情报。在之前的 SOC 自动化工作基础上进行了扩展,重点关注检测和威胁情报。 # 差距分析 — 完整技术分解 本文档详细记录了在基线 Wazuh + Sysmon 配置下测试的每项 MITRE ATT&CK 技术的修复前后证据。 ## T1082 — 系统信息发现 **战术:** Discovery **原子测试:** `Invoke-AtomicTest T1082`(多个子测试:`systeminfo`、环境变量发现等) **之前:** 无告警。当在 Wazuh 的仪表板中查询 `rule.mitre.id:"T1082"` 时,返回结果为零,尽管该命令已在终端上成功执行。 **根本原因:** 没有现有的 Sysmon/Wazuh 规则能匹配像 `systeminfo` 这样仅用于发现的命令——在默认规则集中,这些命令与常规管理活动无法区分。 **修复:** 自定义规则 `100011` —— 对 `systeminfo`、`hostname.exe`、`Get-ComputerInfo`、`wmic os get`、`wmic computersystem` 进行正则匹配。 **之后:** 正确触发了告警: ``` rule.id: 100011 rule.description: Possible System Information Discovery Activity Detected rule.level: 6 rule.mitre.id: T1082 rule.mitre.technique: System Information Discovery rule.mitre.tactic: Discovery ``` ## T1087.001 — 本地账户发现 **战术:** Discovery **原子测试:** `Invoke-AtomicTest T1087.001`(`net user`、`net localgroup` 等) **之前:** *确实*触发了告警,但是在一个通用规则下: ``` rule.id: 92032 rule.description: Suspicious Windows cmd shell execution rule.mitre.id: T1087, T1059.003 rule.mitre.technique: Account Discovery, Windows Command Shell ``` 此规则会在任何 cmd.exe 执行模式下触发,而不是专门针对账户发现——它作为副作用碰巧捕获了此活动,其 MITRE 标签比较宽泛(且仅部分准确)。 **修复:** 自定义规则 `100013` —— 对 `net user`、`net localgroup`、`net group`、`Get-LocalUser`、`Get-LocalGroup` 进行正则匹配。 **之后:** ``` rule.id: 100013 rule.description: Possible Local Account Discovery Activity Detected rule.level: 6 rule.mitre.id: T1087.001 rule.mitre.technique: Local Account rule.mitre.tactic: Discovery ``` 注意:原有的通用规则 (92032) 仍然会与新的特定规则同时触发——这是故意的;新规则增加了精确度,而不会移除现有的(即使不完美的)覆盖范围。 ## T1016 — 系统网络配置发现 **战术:** Discovery **原子测试:** `Invoke-AtomicTest T1016`(`ipconfig /all`、`nslookup`、`arp -a` 等) **之前:** 有趣的是,原始的 Sysmon 日志本身正确地标记了该活动(在原始的 Sysmon 消息字段中可以看到 `technique_id=T1016`,这是通过 Sysmon 配置自身的命名实现的),但是**实际触发的 Wazuh 规则对其进行了错误标记**: ``` rule.id: 92032 rule.description: Suspicious Windows cmd shell execution rule.mitre.id: T1087, T1059.003 <-- incorrect; this was T1016 activity ``` 这表明 Wazuh 的默认规则集没有读取/使用 Sysmon 日志中已有的 MITRE 标签——它应用了自己单独的、准确性较低的分类。 **修复:** 自定义规则 `100012` —— 对 `nslookup`、`ipconfig /all`、`arp -a`、`route print`、`netstat -` 进行正则匹配。 **之后:** ``` rule.id: 100012 rule.description: Possible Network Configuration Discovery Activity Detected rule.level: 6 rule.mitre.id: T1016 rule.mitre.technique: System Network Configuration Discovery rule.mitre.tactic: Discovery ``` ## T1003.001 — LSASS 内存(凭据转储) **战术:** Credential Access **原子测试:** `Invoke-AtomicTest T1003.001`(多种工具变体:ProcDump、comsvcs.dll、Mimikatz、NanoDump、pypykatz、Out-Minidump.ps1) **之前:** 这是该项目最重大的发现。 Windows Defender 直接主动拦截了多种工具变体: ``` Exception calling "Start": "Access is denied" This script contains malicious content and has been blocked by your antivirus software. ``` 这是 Defender 正在执行**防御**——阻止工具执行。 然而,检查 Wazuh 的 **archive 索引**(记录所有接收到的事件,而不仅仅是触发告警的事件)显示,*确实*执行的尝试(例如 `Out-Minidump.ps1` / `rdrleakdiag` 变体)被 Sysmon 记录并由 Wazuh 接收——但是**没有触发专门的告警**。生成的唯一告警是与之前相同的通用规则: ``` rule.id: 92027 rule.description: Powershell process spawned powershell instance rule.mitre.id: T1059.001 rule.mitre.technique: PowerShell rule.mitre.tactic: Execution ``` 这条规则完全没有提及凭据访问或 LSASS——只监控告警索引(而不是手动翻阅存档)的分析师将**对该终端上正在进行的凭据转储尝试毫无察觉**。 **修复:** 自定义规则 `100010` —— 对 LSASS 转储特定的关键字/工具特征(`lsass.*dump`、`comsvcs.dll.*MiniDump`、`procdump.*lsass`、`rdrleakdiag`、`nanodump`、`mimikatz`、`pypykatz`、`Out-Minidump`)进行正则匹配,鉴于此技术在真实攻击中的严重性,将其级别设置为 12(高)。 **之后:** ``` rule.id: 100010 rule.description: Possible LSASS Credential Dumping Attempt Detected rule.level: 12 rule.mitre.id: T1003.001 rule.mitre.technique: LSASS Memory rule.mitre.tactic: Credential Access ``` **为什么这很重要:** 区分防御与检测是 SOC 的核心概念。工具被 AV 拦截并不意味着 SOC 对此类尝试具有*可见性*——记录并对尝试本身发出告警(无论其是否成功)才能使分析师能够进行调查、与其他活动进行关联并做出响应。这一差距——对现实世界中最常见的凭据窃取技术之一保持沉默——是该项目在运营层面最重大的发现。 ## 总结表 | 技术 | MITRE ID | 战术 | 之前 | 之后 | 规则 ID | |---|---|---|---|---|---| | 系统信息发现 | T1082 | Discovery | 无告警 | 正确标记的告警 (级别 6) | 100011 | | 本地账户发现 | T1087.001 | Discovery | 通用/错误标记的告警 | 正确标记的告警 (级别 6) | 100013 | | 网络配置发现 | T1016 | Discovery | 通用/错误标记的告警 | 正确标记的告警 (级别 6) | 100012 | | LSASS 凭据转储 | T1003.001 | Credential Access | 无告警 (仅存档) | 正确标记的告警 (级别 12) | 100010 |
标签:Cloudflare, MITRE ATT&CK, Wazuh, 威胁情报, 安全运营, 开发者工具, 扫描框架, 无线安全