分析 PowerShell Empire 工件
概述
PowerShell Empire 是一个由监听器(listener)、stager 和 agent 组成的后渗透框架。其工件在 Windows 事件日志中留有可检测的痕迹,尤其是 PowerShell 脚本块日志(Script Block Logging,事件 ID 4104)和模块日志(Module Logging,事件 ID 4103)。本技能分析事件日志中 Empire 的默认启动器字符串(powershell -noP -sta -w 1 -enc)、包含 System.Net.WebClient 和 FromBase64String 的 Base64 编码 payload、已知模块调用(Invoke-Mimikatz、Invoke-Kerberoast、Invoke-TokenManipulation)以及暂存 URL 模式。
前置条件
- Python 3.9+,可访问 Windows 事件日志或导出的 EVTX 文件
- 通过组策略启用 PowerShell 脚本块日志(事件 ID 4104)
- 启用模块日志(事件 ID 4103)以实现全面覆盖
关键检测模式
- 默认启动器 —
powershell -noP -sta -w 1 -enc后跟 Base64 编码块 - Stager 失陷指标 —
System.Net.WebClient、DownloadData、DownloadString、FromBase64String - 模块签名 — Invoke-Mimikatz、Invoke-Kerberoast、Invoke-TokenManipulation、Invoke-PSInject、Invoke-DCOM
- User-Agent 字符串 — HTTP 监听器配置中的默认 Empire User-Agent
- 暂存 URL —
/login/process.php、/admin/get.php及类似的默认 URI 模式
输出
JSON 报告,包含匹配的 IOC、解码后的 Base64 payload、可疑事件时间线、MITRE ATT&CK 技术映射以及严重性评分。