系統(tǒng)軟件園 - 專注分享最好的電腦系統(tǒng)軟件!免費(fèi)安全下載 系統(tǒng)軟件園首頁(yè) | Win7激活工具 | 熱門(mén)專題
系統(tǒng)軟件園>您的位置:首頁(yè) > > 系統(tǒng)教程 > Win7系統(tǒng)教程 >

映像劫持,注冊(cè)表Image File Execution Options作用及使用辦法

更新時(shí)間:2018-11-02 20:07:39| 編輯:本站整理 | 信息來(lái)源:本站整理|瀏覽數(shù):

相信大家對(duì)各種流氓軟件,流氓行為都不陌生,這其中有一種通過(guò)注冊(cè)表項(xiàng)【Image File Execution Options】進(jìn)行劫持的方法,或許一些朋友對(duì)Image File Execution Options不太了解,下面小編簡(jiǎn)單的和大家分享一下映像劫持,注冊(cè)表Image File Execution Options作用及使用辦法。


 

映像劫持(Image File Execution Options,IFEO)技術(shù)的利用,存在已久。大都是修改“Debugger“項(xiàng)值,替換執(zhí)行程序,加以利用。歪果仁最近在研究IFEO的相關(guān)項(xiàng)值時(shí),發(fā)現(xiàn)了GlobalFlag這個(gè)特殊的項(xiàng)值,在進(jìn)一步測(cè)試時(shí),發(fā)現(xiàn)了一種基于IFEO的新后門(mén)利用方式。本著求知探索的科學(xué)精神。本文對(duì)此技術(shù)進(jìn)行分析總結(jié)。

 

0x02 映像劫持簡(jiǎn)介

映像劫持(Image File Execution Options),簡(jiǎn)單的說(shuō)法,就是當(dāng)你打開(kāi)的是程序A,而運(yùn)行的確是程序B。

映像劫持其實(shí)是Windows內(nèi)設(shè)的用來(lái)調(diào)試程序的功能,但是現(xiàn)在卻往往被病毒惡意利用。當(dāng)用戶雙擊對(duì)應(yīng)的程序后,操作系統(tǒng)就會(huì)給外殼程序(例如“explorer.exe”)發(fā)布相應(yīng)的指令,其中包含有執(zhí)行程序的路徑和文件名,然后由外殼程序來(lái)執(zhí)行該程序。事實(shí)上在該過(guò)程中,Windows還會(huì)在注冊(cè)表的上述路徑中查詢所有的映像劫持子鍵,如果存在和該程序名稱完全相同的子鍵,就查詢對(duì)應(yīng)子健中包含的“dubugger”鍵值名,并用其指定的程序路徑來(lái)代替原始的程序,之后執(zhí)行的是遭到“劫持”的虛假程序

 

IEEO位于注冊(cè)表項(xiàng)中

“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options”

注意的是,Win7后的系統(tǒng),需要管理員權(quán)限才能夠?qū)σ豁?xiàng)做出修改。之前的病毒,喜歡修改這個(gè)注冊(cè)表項(xiàng),達(dá)到劫持系統(tǒng)程序的作用。

 

 

下面,做的是一個(gè)簡(jiǎn)單的測(cè)試:管理員權(quán)限,打開(kāi)CMD,執(zhí)行下列修改注表的命令。



reg add "hklmSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsnotepad.exe" /v debugger /t REG_SZ /d "c:windowssystem32calc.exe"。
 

可以看到:打開(kāi)notepad.exe,而運(yùn)行起來(lái)的是計(jì)算器。


0x03 映像劫持新玩法

如上文中所講述,修改IFEO中的“debugger”鍵值,用來(lái)替換原有程序的執(zhí)行。而新的利用方法,實(shí)現(xiàn)的效果是:程序A靜默退出結(jié)束后,會(huì)執(zhí)行程序B。

在網(wǎng)上收集資料整理后發(fā)現(xiàn), Image File Execution Options下可以設(shè)置以下值項(xiàng)(值只是部分,只能感慨,微軟沒(méi)告訴我們的東西還真多?。?。其中GlobalFlag是本次測(cè)試的關(guān)鍵點(diǎn):


  1. Debugger,
  2. DisableHeapLookaside,
  3. ShutdownFlags,
  4. MinimumStackCommitInBytes,
  5. ExecuteOptions,
  6. GlobalFlag,
  7. DebugProcessHeapOnly,
  8. ApplicationGoo,
  9. RpcThreadPoolThrottle,
  10. PageHeapFlags,
  11. DisableHeapLookAside,
  12. DebugProcessHeapOnly,
  13. PageHeapSizeRangeStart,
  14. PageHeapSizeRangeEnd,
  15. PageHeapRandomProbability,
  16. PageHeapDllRangeStart,
  17. PageHeapDllRangeEnd,
  18. ……

歪果仁本是想弄清楚ApplicationGoo這個(gè)項(xiàng)值的作用,無(wú)奈卻毫無(wú)頭緒。但是在MSDN的博客上,發(fā)現(xiàn)熱心人士對(duì)GlobalFlag的這個(gè)項(xiàng)值的發(fā)表的一些看法。愛(ài)實(shí)踐的歪果仁下載安裝了GFlages.exe 開(kāi)始分析。真是山重水復(fù)疑無(wú)路,柳暗花明又一村。這便是突破口。

 

 

 

0x04 GFlages.exe進(jìn)行測(cè)試

按照MSDN博客的說(shuō)法,筆者也嘗試安裝GFlages.exe進(jìn)行測(cè)試。中間遇到一些小坑,GFlages.exe是包含在 Debugging Tools for Windows(WinDbg)下的。網(wǎng)上現(xiàn)有都是通過(guò)安裝完整的Windows SDK。很折騰,經(jīng)過(guò)一番搜索,找到一下dbg的單獨(dú)安裝包,感謝作者分享。

 

 

 

在Silent Process Exit這個(gè)選項(xiàng)卡中發(fā)現(xiàn)了挺有趣的東西。根據(jù)微軟官方介紹,從Windows7開(kāi)始,可以在Silent Process Exit選項(xiàng)卡中,可以啟用和配置對(duì)進(jìn)程靜默退出的監(jiān)視操作。在此選項(xiàng)卡中設(shè)定的配置都將保存在注冊(cè)表中。

 

 

填入如上配置,點(diǎn)擊應(yīng)用、確定,開(kāi)始測(cè)試。使用Process Explorer進(jìn)行檢測(cè)進(jìn)程的變化。注意,在進(jìn)行此次測(cè)試之前,請(qǐng)先把IFEO中notepad.exe項(xiàng)刪除。

打開(kāi)notepad.exe,關(guān)閉后,隨之計(jì)算器彈出。在Process Explorer上可以看到計(jì)算器已經(jīng)被系統(tǒng)調(diào)起。

 

 

 

0x05 原理分析

根據(jù)微軟的官方文檔描述,在Silent Process Exit選項(xiàng)卡中的配置,都保存在注冊(cè)表中。經(jīng)過(guò)分析,等值,主要修改了以下兩個(gè)表項(xiàng)。


  1. HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsnotepad.exe
  2. HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSilentProcessExitnotepad.exe

 

 

 

 

這么一來(lái),可以直接在命令行中對(duì)注冊(cè)表進(jìn)行設(shè)置,需要管理員權(quán)限。


  1. reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsnotepad.exe" /v GlobalFlag /t REG_DWORD /d 512
  2.  
  3. reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionSilentProcessExitnotepad.exe" /v ReportingMode /t REG_DWORD /d 1
  4.  
  5. reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionSilentProcessExitnotepad.exe" /v MonitorProcess /t REG_SZ /d "c:windowssystem32taskmgr.exe"

? 簡(jiǎn)單解釋一下ReportingMode和MonitorProcess 這兩個(gè)項(xiàng)值的作用。MonitorProcess的值表示監(jiān)視器進(jìn)程。Reporting Mode可以設(shè)置為三個(gè)值 。

Flag Value 解釋
LAUNCH_MONITORPROCESS 0x1 檢測(cè)到進(jìn)程靜默退出時(shí),將會(huì)啟動(dòng)監(jiān)視器進(jìn)程(在GFLAGS.exe中,Silent Process Exit這個(gè)選項(xiàng)卡所填寫(xiě)的值,即MonitorProcess的項(xiàng)值)
LOCAL_DUMP 0x2 檢測(cè)到進(jìn)程靜默退出時(shí),將會(huì)為受監(jiān)視的進(jìn)程創(chuàng)建轉(zhuǎn)儲(chǔ)文件
NOTIFICATION 0x4 檢查到進(jìn)程靜默退出時(shí),將會(huì)彈出一個(gè)通知

 

0x06 檢測(cè)及查殺

  1. 排查HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options 以及HKLMSOFTWAREMicrosoftWindows NTCurrentVersionSilentProcessExit項(xiàng)值是否存在關(guān)聯(lián)。
  2. 分析系統(tǒng)日志,日志ID為3000和3001,即有可能存在后門(mén)威脅。
  3. 直接刪除IFEO項(xiàng)或者設(shè)置管理員不可修改

 

0x07 總結(jié)

  1. 本文分析總結(jié)了關(guān)于映像劫持的的一種新型后門(mén)技術(shù):當(dāng)一個(gè)程序關(guān)閉時(shí)會(huì)允許執(zhí)行其他的二進(jìn)制文件。且Autorun暫時(shí)檢測(cè)不到。
  2. 該技巧需要管理員權(quán)限,普通用戶沒(méi)有執(zhí)行權(quán)限。
  3. 可以結(jié)合ADS技術(shù)(alternate data streams,NTFS交換數(shù)據(jù)流)執(zhí)行,更加的隱蔽。感興趣的同學(xué)可以自己測(cè)試一下。
  4. 本文由網(wǎng)絡(luò)上轉(zhuǎn)載。

返回頂部


系統(tǒng)軟件園發(fā)布的系統(tǒng)鏡像及軟件均來(lái)至互聯(lián)網(wǎng),僅供學(xué)習(xí)和研究使用,不得用于任何商業(yè)用途并請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除,如果滿意請(qǐng)聯(lián)系版權(quán)方購(gòu)買(mǎi)。
如果您發(fā)現(xiàn)本站侵害了您的版權(quán),請(qǐng)立即聯(lián)系我們,本站將第一時(shí)間進(jìn)行相關(guān)處理。聯(lián)系方式(見(jiàn)首頁(yè))
版權(quán)聲明|下載聲明 Copyright @ 2016 系統(tǒng)軟件園