Image File Execution Options (IFEO) 位於登錄檔:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
原為開發者除錯設計:指定某程式啟動時,改由除錯器 (Debugger) 接管執行。通俗說:你想執行 QQ.exe,系統卻啟動了 FlashGet.exe —— 目標程式被「劫持」替換。
傳統木馬依賴啟動項 (Run、RunOnce、服務、Winlogon Notify 等) 隨系統啟動,易被 msconfig、Autoruns 發現。IFEO 木馬另闢蹊徑:不隨系統啟動,而是等待使用者執行特定程式時觸發,極具隱蔽性。
病毒 vires.exe 欲劫持 qq.exe:
qq.exe。Debugger = C:\Windows\System32\vires.exe (病毒路徑)。若 Debugger 指向不存在檔案,系統提示「找不到檔案」,目標程式無法啟動 (可用於禁止特定程式運行)。
NT 核心建立進程時:檢查檔案可執行性 → 格式驗證 → 查詢 IFEO 登錄檔是否存在對應 Debugger → 存在則啟動 Debugger 並傳遞原程式路徑參數 → 不存在則正常啟動目標程式。刪除 IFEO 鍵值即恢復正常。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\qq.exe]
"Debugger"="123.exe" ; 指向不存在檔案
雙擊 QQ 即提示找不到檔案。改回正確路徑即恢復。
[HKEY_LOCAL_MACHINE\...\Image File Execution Options\taskmgr.exe]
"Debugger"="C:\\Windows\\pchealth\\helpctr\\binaries\\msconfig.exe"
按 Ctrl+Alt+Del 呼叫工作管理器 → 彈出系統設定工具 (msconfig)。
[HKEY_LOCAL_MACHINE\...\Image File Execution Options\sppoolsv.exe] ; 金豬報喜病毒
"Debugger"="123.exe"
[HKEY_LOCAL_MACHINE\...\Image File Execution Options\logo_1.exe] ; 威金病毒
"Debugger"="123.exe"
病毒雖在啟動項,但執行時被重導向不存在檔案,系統報錯終止。亦可重導向至合法程式 (如 QQ) 達到「以毒攻毒」效果 (前提:病毒隨系統啟動)。
regedit 定位至 IFEO 鍵值。Administrators 與 SYSTEM 的「寫入」權限 (保留讀取)。直接刪除整個 Image File Execution Options 鍵值。Windows 核心功能不依賴此鍵值,刪除無副作用,徹底杜絕 IFEO 劫持可能。
IFEO 是雙面刃:開發者除錯利器,亦是病毒隱蔽持久化的高階技術。理解其運作原理、識別異常 Debugger 鍵值、配合權限鎖定或徹底移除鍵值,即可將此攻擊面納入防護體系。建議企業環境透過群組原則推送權限鎖定策略,個人用戶可定期檢查該鍵值或直接刪除。