病毒常濫用「映像檔執行選項」(Image File Execution Options, IFEO)登錄機碼,將合法程式(如防毒軟體)重導向惡意程式。此機制雙向運作:我們也可以利用 IFEO,將已知惡意程式(如 KAVSVC.EXE)重導向無害程式(如空的 1.exe),達到「以毒攻毒」的緊急阻斷效果。本文詳細說明原理、操作步驟與防禦建議。
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<可執行檔名>Debugger (REG_SZ) = 替代目標程式完整路徑<可執行檔名> 時,核心改為啟動 Debugger 指定的程式,並將原程式路徑作為參數傳遞。@echo off & exit /b 0 → 存為 1.bat → 重命名為 1.exe(放在 D:\ 或任意路徑)。block_kavsvc.reg:Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\KAVSVC.EXE]
"Debugger"="D:\\1.exe"
KAVSVC.EXE → 應無任何反應(實際執行 D:\1.exe 立即結束)。將 Debugger 指向記錄腳本(PowerShell/Batch),記錄時間、參數、父進程,再決定是否放行:
"Debugger"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoProfile -Command \"$log='C:\\IFEO_Log.txt'; $arg=$args[0]; Add-Content $log \"$(Get-Date) Attempt: $arg\"; exit 0\""
Debugger 值(合法軟體極少使用)。Autoruns (Sysinternals) → 「Image Hijacks」索引標籤快速掃描。Debugger 值。HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\。IFEO 是把雙面刃:駭客用它劫持防毒軟體,我們用它封鎖已知惡意程式。掌握此機制,並在 Autoruns 定期巡檢,能有效提升端點防禦彈性。