狩猎 Windows 持久化机制
适用场景
- 针对潜伏后门进行定期主动威胁狩猎时
- 事件响应后,识别攻击者植入的所有持久化机制时
- 调查异常服务、计划任务或启动项时
- 威胁情报报告描述了新型在野持久化技术时
- 安全态势评估,识别未授权的持久化软件时
前置条件
- 部署 Sysmon 并启用事件 ID 12/13/14(注册表)、19/20/21(WMI)、1(进程创建)
- 转发 Windows 安全事件 4697(服务安装)、4698(计划任务)
- 具备注册表和文件监控能力的 EDR
- 启用 PowerShell 脚本块日志(事件 ID 4104)
- 使用 Autoruns 或同类工具建立合法持久化条目基线
工作流程
- 枚举已知持久化位置:整理 Windows 持久化点的完整清单(Run 键、服务、计划任务、WMI、启动文件夹、DLL 搜索顺序、COM 劫持、AppInit DLL、映像劫持选项)。
- 收集终端数据:使用 EDR、Sysmon 或 Velociraptor 从环境中的各终端收集当前持久化工件。
- 建立合法持久化基线:将收集的数据与已知正常基线对比(Autoruns 快照、GPO 部署条目、SCCM 配置)。
- 识别异常:标记持久化位置中偏离基线的新增、未签名或未知条目。
- 调查可疑条目:对每个异常,检查其指向的二进制文件、数字签名、文件哈希和创建时间戳。
- 关联进程活动:将持久化条目与进程执行、网络活动和用户登录事件关联。
- 记录并修复:记录发现结果,清除恶意持久化,更新检测规则。
核心概念
| 概念 | 描述 |
|---|---|
| T1547.001 | 注册表 Run 键 / 启动文件夹 |
| T1543.003 | Windows 服务(创建或修改) |
| T1053.005 | 计划任务 |
| T1546.003 | WMI 事件订阅 |
| T1546.015 | 组件对象模型(COM)劫持 |
| T1546.012 | 映像文件执行选项注入 |
| T1546.010 | AppInit DLL |
| T1547.004 | Winlogon 辅助 DLL |
| T1547.005 | 安全支持提供程序 |
| T1574.001 | DLL 搜索顺序劫持 |
| TA0003 | 持久化战术 |
| Autoruns | Sysinternals 工具,用于显示持久化条目 |
工具与系统
| 工具 | 用途 |
|---|---|
| Sysinternals Autoruns | 全面的持久化枚举 |
| Velociraptor | 终端范围的持久化工件收集 |
| CrowdStrike Falcon | 实时持久化监控 |
| Sysmon | 注册表和 WMI 事件监控 |
| OSQuery | 基于 SQL 的持久化查询 |
| RECmd | 用于取证分析的注册表资源管理器 |
| Splunk | SIEM 持久化事件关联 |
常见场景
- 注册表 Run 键后门:恶意软件在
HKCU\Software\Microsoft\Windows\CurrentVersion\Run中添加条目,指向%APPDATA%中的载荷。 - WMI 事件订阅:攻击者创建 WMI 消费者/过滤器对,在系统启动时执行 PowerShell。
- 恶意服务:攻击者使用
sc create创建指向后门二进制文件的 Windows 服务。 - COM 对象劫持:合法 COM CLSID 的 InprocServer32 路径被替换为恶意 DLL。
- IFEO 调试器注入:映像文件执行选项键设置调试器,指向针对常用工具的植入程序。
输出格式
狩猎 ID:TH-PERSIST-[日期]-[序号]
持久化类型:[注册表/服务/任务/WMI/COM/其他]
MITRE 技术:T1547.xxx / T1543.xxx / T1053.xxx
位置:[完整注册表键 / 服务名称 / 任务路径]
值:[二进制路径 / 命令行]
主机:[受影响终端]
已签名:[是/否]
哈希:[SHA256]
创建时间:[时间戳]
风险等级:[严重/高/中/低]
结论:[恶意/可疑/良性]