首页/安全/应急响应速查/Windows 自启项清除顺序

Windows 自启项清除顺序

自启项清除顺序:导出清单→禁用→观察→删除→复验;Run 键、计划任务、服务与 WMI 订阅要全部覆盖。

应急响应速查安全更新于 2026-10-13

清理要有顺序

自启项清理按固定顺序走:导出清单 → 禁用 → 观察 → 删除 → 复验。直接删除会同时丢掉攻击者写入的参数,也无法识别「删掉又被重新拉起」的守护关系。

覆盖面要全

启动链不止 Run 键:计划任务、服务、WMI 订阅与 IFEO 都会拉起程序。Run 键常见的三个位置是 HKLM、HKCU 与 Wow6432Node,逐处都要看,只清一处等于放它回来。

基本信息

清理顺序导出清单→禁用→观察→删除→复验
主要位置Run 键(HKLM/HKCU/Wow6432Node)、计划任务、服务
易漏位置WMI 订阅、IFEO Debugger、启动文件夹
导出方式reg export、schtasks /query /xml、Get-ScheduledTask
观察期禁用后观察是否被重新启用或拉起
权限要求修改 HKLM 与服务配置需管理员

典型使用场景

  • 清理已确认的持久化项
  • 判断多个持久化点之间的守护关系
  • 验证清理是否彻底
  • 处理「删了又回来」的现象
  • 收尾时输出清理前后对照表

导出清单与枚举自启项

导出清单与枚举自启项
Get-ScheduledTask | Where-Object { $_.State -ne 'Disabled' } | Select-Object TaskName, TaskPath | Format-Table -AutoSize
schtasks /query /fo LIST /v | Select-String -Pattern 'TaskName|Task To Run' | Select-Object -First 40
Get-ItemProperty 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run'
Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run'
reg export "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" C:\evidence\run_hklm.reg /y
Get-Service | Where-Object { $_.StartType -ne 'Disabled' } | Select-Object Name,DisplayName,StartType

输出逐列读法

字段含义正常/异常
TaskName / TaskPath任务名与所在路径不在系统默认任务目录下的需重点核查
Task To Run任务实际执行的命令指向临时目录或脚本宿主即为可疑
Run 键值启动时执行的命令值与键名不匹配时逐个解释
StartType服务启动类型自动启动的陌生服务需核对用途
先禁用后删除:禁用期间观察是否被其他项重新拉起,可识别守护关系;删除前导出 XML 或注册表留档,便于回溯攻击者配置。
RunOnce 键与启动文件夹同样会执行启动命令:RunOnce 在执行后通常自动删除,容易出现「只剩行为、没有配置」的现象,需要结合事件日志判断。

禁用、删除与复验

禁用、删除与复验
Disable-ScheduledTask -TaskName 'SuspiciousTask' -TaskPath '\'
Remove-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run' -Name 'Suspicious' -ErrorAction SilentlyContinue
Get-ScheduledTask | Where-Object { $_.TaskName -match 'Suspicious' } | Select-Object TaskName,State
Get-ItemProperty 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run'

清理后的复验

  • 重新导出四类清单与清理前对比
  • 重启后确认无异常进程与服务
  • 检查事件日志中是否出现日志被清除的记录
  • 确认没有新的同名自启项出现

清理顺序背后的原因

  • 先导出是为了留下攻击者原始配置作为证据
  • 先禁用是为了观察是否存在守护与互相拉起关系
  • 后删除是为了避免破坏仍可观察的行为链条
  • 最后复验是为了确认没有残留与替代项

易错点

  • 只删第一处:Run 键与计划任务互相拉起,必须一并处理
  • 删前不导出:无法回溯攻击者配置的参数,清理前后差异也无从比对
  • 漏掉 WMI 订阅与 IFEO:常规注册表与文件清单里看不到这两类
  • 禁用后立刻删除:观察期被跳过,守护关系无从判断
  • 复验只查注册表:计划任务与服务需要单独枚举确认

数据来源与参考

  • Microsoft Learn:计划任务与 Run 键持久化
  • Sysinternals Autoruns:启动项对照

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌