首页/安全/取证与溯源速查/自启动注册表键核查
Windows 取证55 条

自启动注册表键核查

Run/RunOnce 系列键是经典自启动点:键值指向的路径、写入时间与登录后进程启动要串起来看。

取证与溯源速查安全更新于 2026-10-13

Run 键与登录自启动

Run 与 RunOnce 是 Windows 最早、也最常被使用的自启动机制:用户登录后由资源管理器读取这些键,把键值当作命令行执行。键值通常写成可执行文件路径,也常见 rundll32、mshta、powershell 等解释器包装,落地文件是否位于用户可写目录、路径是否带引号,都是判断可疑度的直接依据。

基本信息

键位置HKLM 与 HKCU 下 Software\Microsoft\Windows\CurrentVersion\Run 与 RunOnce
作用范围HKLM 分支影响全部用户,HKCU 分支只影响对应登录用户
触发时机用户登录后由资源管理器执行,RunOnce 条目执行后自动删除
镜像分支32 位程序写入的是 WOW6432Node 下的同名键
常用工具reg query 手工导出、autorunsc64.exe、RegRipper 的 run 插件

典型使用场景

  • 主机出现不明外联或异常进程时,优先核对登录自启动项
  • 判断某个自启动条目是入侵窗口内写入,还是装机时就存在
  • 服务与计划任务排查完毕后补齐用户级启动点,避免遗留
  • 对比两台同版本主机的 Run 键差异,快速锁定非标准项
  • 把键值与指向文件的哈希一并固定,作为持久化证据输出

导出与核对

导出与核对
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run /s
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run /s
reg query "HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run" /s   # 32 位视图,最易漏
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce /s
# 键值指向的文件要落一次存在性与签名核对
# dir "C:\Users\Public\loader.exe"
# Get-AuthenticodeSignature "C:\Users\Public\loader.exe" | Select Status

键位对照

键路径作用范围补充说明
HKLM\...\Run全部用户写入需要管理员权限,改动含义更重
HKCU\...\Run单个用户普通权限即可写入,实战中出现最多
...\RunOnce视分支而定执行后条目被删除,仍存在的条目值得追问
...\WOW6432Node\...\Run32 位程序与 64 位视图独立,常被整批漏查
...\Policies\Explorer\Run全部用户策略方式写入,兼容性设置界面可见
键值本身没有独立的修改时间,判断写入时刻要靠三处互证:所在键的 LastWrite 时间、Sysmon 事件 13(注册表值设置)以及键值指向文件的创建与修改时间。
RunOnce 条目执行后会被自动删除,因此被查主机上仍能看到条目,往往说明对应程序尚未运行或运行失败,这本身就是有价值的线索,不要当成噪声跳过。

易错点

  • 只查 64 位视图,整批漏掉 WOW6432Node 下的同名键,是最常见的漏项
  • 看到签名有效的可执行文件就判定无害,合法程序被放到用户可写目录同样是威胁
  • 把 Run 键当作持久化全集,服务、计划任务、WMI 订阅与启动目录都不在这个分支里
  • 只看键名不看键值全路径,指向 UNC 路径或带参数的脚本内容会被整体忽略

数据来源与参考

  • Microsoft Docs(Run 键说明)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌