一、有可能會發生的狀況:
當您要執行A程式時卻執行B程式,而更改A程式的檔名後卻又可以正常執行(例如要執行Skype.exe,但是卻執行msnmsgr.exe,這就表示 Skype 程序被 msnmsgr 給劫持
二、什麼是映像劫持(IFEO)?
所謂的映像劫持(IFEO)就是 Image File Execution Options 其實應該稱為(Image Hijack)是位於註冊表的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
三、被劫持
雖然映像劫持是系統自帶的功能,對一般用戶來說根本沒什麽用的必要,但是就有一些病毒通過映像劫持來做文章,表面上看起來是執行了一個正常的程序,實際上病毒已經在後台執行了。
大部分的病毒和木馬都是通過加載劫持啟動項來執行的,也有一些是註冊成為劫持服務來啟動,他們主要通過修改登錄檔來實現這個目的,主要有以下幾個機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsCurrent\Version\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsCurrent\Version\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsCurrent\Version\RunServicesOnce
映像劫持病毒主要通過修改登錄檔中的:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\(被病毒劫持的檔案)
Debugger = (病毒檔案)
Image File Execution Options的參數有下列,但是會產生問題的只有「Debugger」參數
ApplicationGoo
Debugger
PageHeapFlags
DisableHeapLookAside
DebugProcessHeapOnly
PageHeapSizeRangeStart
PageHeapSizeRangeEnd
PageHeapRandomProbability
PageHeapDllRangeStart
PageHeapDllRangeEnd
GlobalFlag
BreakOnDllLoad
ShutdownFlags
若是沒有被病毒劫持的電腦就只有下列機碼:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image
File Execution Options\Your Image File Name Here without a path
Debugger = ntsd -d
若是被劫持就如同下列:病毒 123.exe 要劫持 svchost 程序,就會新建一個 svchost.exe 的機碼值,並在下列的 debugger 值修改為 Debugger = 123.exe(通常位於 C:\Windows\System32\底下)
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\svchost.exe
Debugger = 123.exe
病毒實際修改範例:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\avp.exe(劫持卡巴的執行檔,這樣一來卡巴就無法正常執行)
Debugger = ntsd -d
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\360Safe.exe
Debugger = ntsd -d
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image
File Execution Options\Your Image File Name Here without a path
Debugger = ntsd -d
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\zhudongfangyu.exe
Debugger = ntsd -d
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\党葩馱撿.exe
Debugger = ntsd -d
四、玩劫持
1、禁止某些程序的執行
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\qq.exe]
Debugger=123.exe
把上面的代碼保存爲norun_qq.reg,雙擊導入注冊表,每次雙擊執行QQ的時候,系統都會彈出一個框提示說找不到QQ,原因就QQ被重定向了。如果要讓QQ繼續執行的話,把123.exe改爲其安裝目錄就可以了。
2、偷梁換柱惡作劇
每次我們按下CTRL+ALT+DEL按鈕時,都會跳出「工作管理員」視窗,想不想在我們按下這些鍵的時候讓它跳出「系統設定」視窗:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe]
Debugger=C:\WINDOWS\pchealth\helpctr\binaries\mconfig.exe
並把以上的內容儲存檔案為【task_cmd.reg】並執行,這樣按下CTRL+ALT+DEL按鈕,就會跳出「系統設定」視窗
3、讓病毒迷失自我
同上面的道理一樣,如果我們把病毒程序給重新定義了,是不是病毒就不能執行了,答案是肯定的。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sppoolsv.exe]
Debugger=123.exe
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\logo_1.exe]
Debugger=123.exe
上面的機碼是以金豬病毒和威金病毒為例,這樣即使這些病毒在系統啟動項裡面,即使隨系統執行了,但是由於映象劫持的重定向作用,還是會被系統提示無法找到病毒檔案(這裏是logo_1.exe和sppoolsv.exe)。
五、防劫持
1、權限限制法:
執行「regedit.exe」開啟「登錄編輯程式」尋找下列機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
在此機碼上點選右鍵選擇(使用權限(P)...),將 Administrator 和 SYSTEM 使用者的完全控制和讀取權限,修改為「拒絕」。
2、快刀斬亂麻法
執行「regedit.exe」開啟「登錄編輯程式」尋找下列機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\,把「Image File Execution Options」機碼刪除即可。
3、防止重生
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\【病毒名.exe】]
"Debugger"="【病毒名.exe】"
regedit /s kill.reg &del /q kill.reg
修改【病毒名.exe】為你想禁止的病毒檔案名稱,並把以上的內容儲存檔案為【kill.bat】並執行,這樣此病毒就不會在您的系統中執行。
轉載自: 張貼者: 愛伯特