Hunting For Registry Run Key Persistence

通过分析 Sysmon 事件 ID 13 日志和注册表查询,检测 MITRE ATT&CK T1547.001 注册表 Run 键持久化,识别恶意自动启动条目。

killvxk Updated

File contents

狩猎注册表 Run 键持久化

概述

注册表 Run 键(T1547.001)是攻击者最常用的持久化机制之一。当程序被添加到 Windows 注册表的 Run 键时,它会在用户登录时自动执行。攻击者滥用 HKLM\Software\Microsoft\Windows\CurrentVersion\RunHKCU\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+ 及 jsonxml.etree.ElementTreere 模块
  • 收集 Sysmon 日志的 SIEM 或日志聚合器(Splunk、Elastic、Sentinel)
  • 了解合法自动启动程序的知识,用于基线对比

步骤

  1. 收集经 Run/RunOnce 键路径过滤的 Sysmon 事件 ID 13 日志
  2. 解析事件 XML/JSON,提取 TargetObject、Details(写入值)、Image(修改进程)
  3. 标记值指向临时目录、AppData 或 ProgramData 的条目
  4. 检测注册表值中的编码 PowerShell 命令或脚本解释器
  5. 识别 LOLBin 滥用(mshta.exe、rundll32.exe、regsvr32.exe、wscript.exe)
  6. 与合法自动启动条目的已知正常基线对比
  7. 检查修改进程(Image)是否异常(cmd.exe、powershell.exe、python.exe)
  8. 与事件 ID 1 串联,验证注册的二进制文件是否为近期创建
  9. 生成包含 MITRE ATT&CK 映射和严重性评分的检测报告
  10. 从发现结果生成 Sigma/Splunk 检测规则

预期输出

JSON 报告,列出可疑的 Run 键条目,包含注册表路径、写入值、修改进程、时间戳、MITRE 技术映射、严重性评级和建议的 Sigma 检测规则。

killvxk/cybersecurity-skills-zh/tree/main/skills/hunting-for-registry-run-key-persistence commit 46aa755324

Frequently asked questions

npx skillmds@latest add killvxk/hunting-for-registry-run-key-persistence