| name | hunting-for-registry-run-key-persistence |
| description | 通过分析 Sysmon 事件 ID 13 日志和注册表查询,检测 MITRE ATT&CK T1547.001 注册表 Run 键持久化,识别恶意自动启动条目。 |
| domain | cybersecurity |
| subdomain | threat-hunting |
| tags | ["persistence","registry-run-keys","t1547-001","sysmon","threat-hunting","windows-forensics","mitre-attack"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
狩猎注册表 Run 键持久化
概述
注册表 Run 键(T1547.001)是攻击者最常用的持久化机制之一。当程序被添加到 Windows 注册表的 Run 键时,它会在用户登录时自动执行。攻击者滥用 HKLM\Software\Microsoft\Windows\CurrentVersion\Run、HKCU\Software\Microsoft\Windows\CurrentVersion\Run 及其 RunOnce 对应键来维持持久化。Sysmon 事件 ID 13(RegistryEvent - Value Set)捕获注册表值修改,包括目标对象路径、进行修改的进程以及新值。检测方法包括:监控这些事件中指向临时目录的可疑可执行文件、编码的 PowerShell 命令、LOLBin 路径,以及通常不会创建 Run 键条目的进程。将事件 13 与事件 1(进程创建)和事件 11(文件创建)串联分析,可通过确认载荷的创建和执行来强化检测。
前置条件
- 安装并配置 Sysmon 以记录事件 ID 13 的 Windows 系统
- 配置了 Run/RunOnce 键 RegistryEvent 规则的 Sysmon 配置
- Python 3.9+ 及
json、xml.etree.ElementTree、re 模块
- 收集 Sysmon 日志的 SIEM 或日志聚合器(Splunk、Elastic、Sentinel)
- 了解合法自动启动程序的知识,用于基线对比
步骤
- 收集经 Run/RunOnce 键路径过滤的 Sysmon 事件 ID 13 日志
- 解析事件 XML/JSON,提取 TargetObject、Details(写入值)、Image(修改进程)
- 标记值指向临时目录、AppData 或 ProgramData 的条目
- 检测注册表值中的编码 PowerShell 命令或脚本解释器
- 识别 LOLBin 滥用(mshta.exe、rundll32.exe、regsvr32.exe、wscript.exe)
- 与合法自动启动条目的已知正常基线对比
- 检查修改进程(Image)是否异常(cmd.exe、powershell.exe、python.exe)
- 与事件 ID 1 串联,验证注册的二进制文件是否为近期创建
- 生成包含 MITRE ATT&CK 映射和严重性评分的检测报告
- 从发现结果生成 Sigma/Splunk 检测规则
预期输出
JSON 报告,列出可疑的 Run 键条目,包含注册表路径、写入值、修改进程、时间戳、MITRE 技术映射、严重性评级和建议的 Sigma 检测规则。