| name | analyzing-powershell-empire-artifacts |
| description | 通过识别 Base64 编码的启动器模式、默认 User-Agent、暂存 URL 结构、stager IOC 以及脚本块日志事件中已知的 Empire 模块签名,检测 Windows 事件日志中的 PowerShell Empire 框架工件。 |
| domain | cybersecurity |
| subdomain | threat-hunting |
| tags | ["PowerShell-Empire","threat-hunting","Script-Block-Logging","base64","stager","C2","MITRE-ATT&CK","T1059.001","forensics"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
分析 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 技术映射以及严重性评分。