許多用戶以為管好「開始 → 程式 → 啟動」資料夾就萬事大吉,實則 Windows XP/2000/2003/Vista/7/8/10/11 擁有**超過 20 個**自啟動位置,惡意軟體、流氓軟體、駭客後門極善利用隱蔽鍵值實現持久化。本文系統梳理**十大核心自啟動機制**,提供註冊表路徑、生效時機、優先順序、查殺實戰技巧,構建完整自啟動免疫體系。
Windows 啟動過程中,自啟動項按以下順序依載入:
| 編號 | 名稱 | 註冊表路徑 / 檔案路徑 | 作用域 | 生效時機 | 典型合法用途 | 惡意利用風險 |
|---|---|---|---|---|---|---|
| 1 | 當前用戶啟動資料夾 | `%UserProfile%\Start Menu\Programs\Startup` `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Startup` | 當前用戶 | 登入後 (Run 之後) | 用戶自備自啟程式捷徑 | ★★☆☆☆ 易發現易刪除 |
| 2 | 所有用戶啟動資料夾 | `%AllUsersProfile%\Start Menu\Programs\Startup` `HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\CommonStartup` | 所有用戶 | 登入後 (Run 之後) | 公共自啟程式 (如殺毒軟體代理) | ★★★☆☆ 需管理員權限寫入 |
| 3 | Load 鍵值 | `HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\load` | 當前用戶 | 登入早期 (Userinit 前) | 極少合法用途 (舊版相容) | ★★★★☆ 隱蔽、早載入、常被 Rootkit 利用 |
| 4 | Userinit 鍵值 | `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit` | 系統級 | 用戶登入初始化 | 預設 `userinit.exe,` (注意逗號) — 載入用戶配置檔 | ★★★★★ **極高危** — 掛載惡意程式 → 系統級持久化、繞過安全軟體、難修復 |
| 5 | Explorer\Run 鍵值 | `HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run` `HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run` | 用戶/機器 | Explorer 啟動時 | 群組原則部署自啟程式 | ★★★☆☆ 群組原則關聯、企業環境常見 |
| 6 | RunServicesOnce | `HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce` `HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce` | 用戶/機器 | 用戶登入前、服務階段 | 服務類程式一次性執行 | ★★★★☆ 早於 Run、服務上下文、隱蔽性強 |
| 7 | RunServices | `HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices` `HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices` | 用戶/機器 | 緊接 RunServicesOnce 後 | 服務類程式持久執行 | ★★★★☆ 同上、持久化能力強 |
| 8 | RunOnce\Setup | `HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup` `HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup` | 用戶/機器 | 用戶登入後 | 安裝精靈二次執行 | ★★★☆☆ 特定場景利用 |
| 9 | RunOnce / RunOnceEx | `HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce` `HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce` `HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx` (XP+) | 機器/用戶 | 登入後立即 (HKLM) / 處理完 Run/啟動資料夾後 (HKCU) | 安裝程式重啟後續操作、首次運行設定 | ★★★★☆ **一次性執行後自刪** — 適合投遞載荷、清理痕跡、極難發現 |
| 10 | Run (核心持久化) | `HKLM\Software\Microsoft\Windows\CurrentVersion\Run` `HKCU\Software\Microsoft\Windows\CurrentVersion\Run` | 機器/用戶 | 登入後、RunOnce 之前、HKLM 先於 HKCU | 絕大多數合法自啟程式 (IM、雲同步、驅動面板、安全軟體) | ★★★★★ **最常見、最易檢查、也是最濫用** — 合法與惡意混雜 |
REM 列舉 HKLM/HKCU Run
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /s
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /s
REM 列舉服務 (自動啟動)
sc query type= service state= all | findstr "RUNNING AUTO_START"
REM 列舉計畫任務
schtasks /query /fo LIST /v
REM 檢查 Userinit
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit
REM 檢查啟動資料夾
dir "%AllUsersProfile%\Start Menu\Programs\Startup"
dir "%UserProfile%\Start Menu\Programs\Startup"
防禦鐵律: **「不知不覺的自啟動,就是潛在的後門。」** 定期 (月/重大變更後) 運行 Autoruns 全掃描、啟用簽名驗證、關注無簽名/異常路徑/隨機檔名項、配合 VirusTotal 雲查殺、建立乾淨基線快照 (導出 .arn 對比)。唯有持續免疫,方能守住系統純淨。