首页/安全/取证与溯源速查/持久化点清单化排查
Windows 取证55 条

持久化点清单化排查

按清单逐项核对比漫游文件系统可靠:注册表自启动、服务、任务、WMI、启动目录、登录脚本逐个过。

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

持久化点清单化排查

持久化排查的价值在于不遗漏:攻击者只要保住一个入口就能反复回到主机,而 Windows 的自启动位置分散在注册表、计划任务、服务与驱动、WMI 订阅、文件系统启动目录等多处,靠回忆逐项想必然漏项。可行做法是先按清单全量导出快照,再按时间窗筛出新增或变更项逐个深挖,用清单代替记忆。

基本信息

排查方法全量导出快照 → 按时间窗筛新增项 → 逐项验证指向文件
主力工具Sysinternals Autoruns,命令行版 autorunsc 支持 CSV 输出
覆盖范围注册表自启动、服务与驱动、计划任务、登录脚本、启动目录、WMI 订阅等
比对方式与同版本基线主机或历史快照做差异,锁定非标准条目
留痕要求快照文件记录主机名、采集时间、操作用户与工具版本

典型使用场景

  • 应急响应的初步排查,一次性枚举主机上的全部自启动点
  • 与同版本基准主机的快照做差异,快速定位非标准配置
  • 入侵窗口已确定时,筛出写入时间落在窗口内的条目
  • 清理完成后复扫一遍,确认持久化条目已彻底移除
  • 作为报告附录,向接收方展示持久化面的排查范围与结果

导出与筛选

导出与筛选
autorunsc64.exe -accepteula -a * -s -h -c -o autoruns.csv   # 全部类型、校验签名、计算哈希
Import-Csv .\autoruns.csv | Sort-Object Time | Select-Object -Last 15 Category, Entry, ImagePath
Get-ScheduledTask | Select-Object TaskPath, TaskName, @{n='Action';e={$_.Actions.Execute}} | Out-File tasks.txt
ls "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"   # 全局启动目录
ls "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\StartUp"      # 当前用户启动目录

清单核对范围

类别典型位置备注
注册表自启动Run、RunOnce、Winlogon、IFEO含 32 位与 64 位两套视图
服务与驱动服务控制管理器、驱动注册表项自动启动类型的条目优先看
计划任务任务计划程序库、TaskCache 注册表触发条件可为登录、空闲或定时
WMI 订阅root\subscription 命名空间无独立可执行文件,通用工具覆盖有限
启动目录与登录脚本StartUp 目录、组策略登录脚本文件系统入口,最容易被忽略
通用工具不覆盖全部持久化点:COM 劫持、WMI 永久事件订阅、部分浏览器扩展与打印机端口监视器需要单独核对,清单式排查比依赖单一工具更可靠。
比对基线时先把系统更新、补丁安装带来的正常新增项圈出去,否则大量噪声会淹没真正的线索,也会浪费后续逐项验证的时间。

易错点

  • 只检查注册表自启动就下结论,服务、计划任务与 WMI 订阅会整体漏掉
  • 认为签名有效即可放心,被利用的合法程序与白签名载荷必须单独判断
  • 比对基线时忽略补丁更新带来的正常新增项,把系统噪声当成入侵痕迹
  • 快照没记录采集时间与主机名,多台主机结果混在一起后无法追溯来源

数据来源与参考

  • Sysinternals Autoruns 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌