2010年2月11日 星期四

[資訊]何謂映像劫持(IFEO)?(包含說明與解決方式)

一、有可能會發生的狀況:

當您要執行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】並執行,這樣此病毒就不會在您的系統中執行

參考網址:

http://baike.baidu.com/view/1209782.htm
http://www.wretch.cc/blog/krichard95/13316056
http://hi.baidu.com/eeflash/blog/item/85f1c82a7f65e52cd42af122.html
http://www.avertlabs.com/research/blog/index.php/2008/12/09/image-file-execution-options/

相關文章 :

0 意見: