abhiramj092-stack/Threat-hunting-sysmon-lab

GitHub: abhiramj092-stack/Threat-hunting-sysmon-lab

基于 Sysmon 和 Metasploit 的威胁狩猎实验室,通过模拟 Reverse TCP 攻击链来演示 Windows 端点检测与 MITRE ATT&CK 映射的完整流程。

Stars: 0 | Forks: 0

# 威胁狩猎实验室 — 使用 Sysmon 检测 Reverse TCP 这是一个实操性的家庭实验室练习,通过 **Metasploit (Kali Linux)** 模拟 Windows 系统被攻陷的场景,并使用 **Sysmon + Windows 事件查看器** 检测攻击者的后渗透活动。此仓库记录了完整的攻击链 以及相应的防御检测措施,并大致映射到 MITRE ATT&CK。 ## 实验环境 | 组件 | 详情 | |-------------------|-----------------------------------------------| | 攻击者 | Kali Linux, Metasploit Framework v6.4.84-dev | | 攻击者 IP | 192.168.190.141 | | 受害者 | Windows 10 (Build 19045), 主机 `DESKTOP-H8MNLF7` | | 受害者 IP | 192.168.190.144 | | Payload | `windows/x64/meterpreter/reverse_tcp`,位于 LPORT 4444 | | 日志记录 | Sysmon (Microsoft-Windows-Sysmon/Operational) | ## 攻击链摘要 1. 攻击者在 Metasploit 中配置并启动 `exploit/multi/handler`。 2. 受害者执行 `malware.exe`,与攻击者建立 Meterpreter 会话。 3. 攻击者进入 `shell`,确认访问权限 (`whoami`),并启动 `powershell`。 4. 攻击者对 PowerShell 命令进行 Base64 编码,并通过 `-EncodedCommand` 执行。 5. 每个阶段都在受害者端被 **Sysmon** 捕获,生成 Event ID 1 (Process Create)、3 (Network Connection) 和 11 (File Create)。 ## 时间线与截图 ### 1. Metasploit Handler 设置 攻击者启动 `msfconsole`,选择 `exploit/multi/handler`,设置 `windows/x64/meterpreter/reverse_tcp` payload 和 `LHOST`。 ![msfconsole setup](https://static.pigsec.cn/wp-content/uploads/repos/cas/16/16e398c1933872c1bff1fe02111443138de7383b1f741613ffbc992ffa7cf490.png) ### 2. Exploit 启动与 Meterpreter 会话 `LPORT` 设置为 4444,handler 运行,从受害者 (192.168.190.144) 打开 Meterpreter 会话。 攻击者进入原生 `shell`,运行 `whoami`,并启动 `powershell`。 ![Exploit launch and session](https://static.pigsec.cn/wp-content/uploads/repos/cas/af/af13b383632e26c8db5368de47c577d27f8114cd80531c38ab19f13d31d41e2d.png) ### 3. 检测:恶意进程执行 (Sysmon Event ID 1) Sysmon 记录了从 `C:\Users\abh\Downloads\` 执行 `malware.exe` 的情况,包括文件哈希值 (MD5/SHA256/IMPHASH) — 这是分析师进行追踪的初始入侵痕迹。 ![Sysmon malware.exe detected](https://static.pigsec.cn/wp-content/uploads/repos/cas/ea/ea5be674fcb1c46c6d41f9cf1ac97997c832c85bf6831d3bb9d30197e8a42fcb.png) ### 4. 检测:出站网络连接 (Sysmon Event ID 3) Sysmon Event ID 3 显示发起到 `192.168.190.144` 的 TCP 连接(反向通道)— 这是 C2 回调活动的证据。 ![Sysmon network connection detected](https://static.pigsec.cn/wp-content/uploads/repos/cas/2a/2a4287c19441f6a2209473d00cde1a09dcec2acc0bc8c84a853e625e30eb0cb9.png) ### 5. Shell 访问确认 Meterpreter 到原生 shell 交互的特写,确认 `whoami` 返回 `desktop-h8mnlf7\abh`。 ![Shell whoami confirmation](https://static.pigsec.cn/wp-content/uploads/repos/cas/2b/2bd3b6bd71329b6e2e92a599a38a0cd87cd5b1eb41d91c8d6f2bf6d7658169af.png) ### 6. 检测:启动 PowerShell 进程 (Sysmon Event ID 1) Sysmon 捕获到 `powershell.exe` 启动,其 `CommandLine` 值为纯文本的 `powershell` — 这是“靠山吃山(Living-off-the-Land)”活动的常见先兆。 ![Sysmon powershell launch detected](https://static.pigsec.cn/wp-content/uploads/repos/cas/81/8133926b037acf0cae4841292186bf8629747306451f01d4657721692d9a52bf.png) ### 7. 检测:创建脚本策略测试文件 (Sysmon Event ID 11) 在用户的 Temp 文件夹中创建了一个 `__PSScriptPolicyTest_*.ps1` 文件 — 这是 PowerShell 评估脚本执行策略时 Windows 生成的痕迹,通常在脚本/编码命令执行之前出现。 ![Sysmon file created](https://static.pigsec.cn/wp-content/uploads/repos/cas/34/347e5c6a38c00a3c4401a4b1d684b7499cdd55f921041267204195693f319e70.png) ### 8. 攻击者执行 Base64 编码的 PowerShell 命令 在受害者 shell 上,攻击者将 `Write-Host "SOC Lab Test"` 命令编码为 Base64 并通过 `powershell.exe -EncodedCommand ` 运行 — 这是一种典型的混淆/规避 技术(MITRE ATT&CK **T1059.001** 和 **T1027**)。 ![Attacker encoded command execution](https://static.pigsec.cn/wp-content/uploads/repos/cas/03/0358ddac263d6ac71d40dc51feb6c74495550c5bb8c30023433ec5549b8fe648.png) ### 9. 检测:Sysmon 捕获编码命令 (Event ID 1) Sysmon 记录了完整的 `CommandLine`,包括 `-EncodedCommand` 标志 和 Base64 payload — 为防御者提供了确切的混淆命令,以便 进行解码和分类分析。 ![Sysmon encoded command detected](https://static.pigsec.cn/wp-content/uploads/repos/cas/b4/b453adbb5dc1856076b653f9918339bbf4c96cb3c12e4296b5ebe04a1197efae.png) ## MITRE ATT&CK 映射 | 技术 | ID | 证据 | |---|---|---| | 命令和脚本解释器:PowerShell | T1059.001 | 截图 6, 8, 9 | | 混淆文件或信息 | T1027 | 截图 8, 9 | | 应用层协议 / Reverse Shell | T1071 / T1219 | 截图 2, 4 | | 入口工具传输 / 恶意文件执行 | T1204 / T1105 | 截图 3 | ## 检测要点 - 编码的 PowerShell(`-EncodedCommand` / `-enc`)应始终被解码 并进行审查 — Sysmon Event ID 1 保留了执行此操作所需的 完整命令行。 - `%TEMP%` 中的 `__PSScriptPolicyTest*.ps1` 文件是一个有用的低噪音 指标,表明刚刚发生了 PowerShell 脚本执行。 - 将 Event ID 1 (Process Create) 与 Event ID 3 (Network Connect) 关联起来, 可以快速将可疑的二进制文件与其 C2 目标联系起来。 ## 免责声明 本练习完全在一个隔离的个人所有 实验室环境中进行,仅用于教育/蓝队培训目的。未针对任何外部 或生产系统进行操作。
标签:AI合规, DNS 反向解析, OpenCanary, Sysmon, 安全实验, 攻击模拟, 网络信息收集, 驱动签名利用