實例講述映像劫持IFEO技術(shù)
大家對于映像劫持(IFEO)應(yīng)該都不陌生,從2007年開始,眾多病毒木馬就利用映像劫持關(guān)閉殺毒軟件,傳播自身。
所謂的映像劫持IFEO就是Image File Execution Options(其實應(yīng)該稱為 Image Hijack)。它位于注冊表的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options |
IFEO的本意是為一些在默認(rèn)系統(tǒng)環(huán)境中運行時可能引發(fā)錯誤的程序執(zhí)行體提供特殊的環(huán)境設(shè)定。由于這個項主要是用來調(diào)試程序用的,對一般用戶意義不大。默認(rèn)是只有管理員和Local system有權(quán)讀寫修改。
當(dāng)一個可執(zhí)行程序位于IFEO的控制中時,它的內(nèi)存分配則根據(jù)該程序的參數(shù)來設(shè)定,而WindowsNT架構(gòu)的系統(tǒng)能通過這個注冊表項使用與可執(zhí)行程序文件名匹配的項目作為程序載入時的控制依據(jù),最終得以設(shè)定一個程序的堆管理機制和一些輔助機制等。出于簡化原因,IFEO使用忽略路徑的方式來匹配它所要控制的程序文件名,所以程序無論放在哪個路徑,只要名字沒有變化,它就運行出問題。
映像劫持IFEO實例演示
這里我們用一個實際例子,來演示一下映像劫持。
點擊“開始”-“運行”輸入“regedit”命令,打開注冊表編輯器,展開到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image |
然后選擇Image File Execution Options,右鍵點擊新建一個項,把這個項(默認(rèn)在最后面)命名為QQ.exe。
望文知意,這次是要用QQ來做試驗。選中QQ.exe這個項,此時右邊默認(rèn)是空白的。點擊鼠標(biāo)右鍵,新建一個“字串符”,然后改名為“Debugger”最后一步,雙擊該鍵,修改數(shù)據(jù)數(shù)值(其實就是路徑),這里是修改為Windows系統(tǒng)“記事本”程序的路徑
C:\WINNT\system32\notepad.exe |
注:“C:”是系統(tǒng)盤,如果你的系統(tǒng)安裝在D盤則改為“D:”(不包括雙引號)。這里使用的操作系統(tǒng)是Windows2000,如果你的系統(tǒng)不是Windows2000或WindowsNT的話,把WINNT改成Windows,類似情況同理處理。
![]() |
好了,實驗下,看看效果。點擊QQ.exe,看出現(xiàn)了什么
![]() |
QQ主程序QQ.exe被記事本“劫持”了,記事本直接按照.txt文檔格式打開了QQ.exe程序。
回到注冊表,刪除相應(yīng)鍵,一切又恢復(fù)了正常,熟悉的QQ界面回來了。
![]() |
同理,病毒等也可以利用這樣的方法,把殺毒軟件、安全工具等名字再進(jìn)行重定向,指向病毒路徑。所以,如果你把病毒清理掉后,重定向項沒有清理的話,由于IFEO的作用,沒被損壞的程序一樣運行不了!
映像劫持終極利用——讓病毒迷失自我
同上面的道理一樣,如果我們把病毒程序給重定向了,病毒也就變得“找不到北”無法正常運行了。
WindowsRegistryEditorVersion5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ |
將上面的代碼保存為后綴.reg的文件,雙擊執(zhí)行(這里以金豬病毒和威金病毒為例),這樣即使這些病毒在系統(tǒng)啟動項里面,即使隨系統(tǒng)運行了,但是由于映象劫持的重定向作用,還是會被系統(tǒng)提示無法找到病毒文件(這里是logo_1.exe和sppoolsv.exe)。
現(xiàn)在病毒木馬更多的是在利用各類移動設(shè)施(U盤等)、通過網(wǎng)頁掛馬進(jìn)行傳播,通過模擬用戶操作關(guān)閉殺毒軟件。但我們?nèi)匀豢梢酝ㄟ^這個映像劫持的實例進(jìn)行深入思考:如何利用病毒自身的技術(shù)來抵御病毒木馬的入侵。
【編輯推薦】