病毒實驗二-映像劫持_第1頁
病毒實驗二-映像劫持_第2頁
病毒實驗二-映像劫持_第3頁
病毒實驗二-映像劫持_第4頁
病毒實驗二-映像劫持_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、病毒實驗二映像劫持【實訓(xùn)目的】通過映像劫持操作讓學(xué)生熟悉注冊表編輯器的用途以及幾個相關(guān)軟件的操作,為以后進(jìn)行具體病毒分析打好基礎(chǔ)?!局R準(zhǔn)備】參見最后的附錄【實訓(xùn)要求】學(xué)員先確定需要被劫持的映像,然后在注冊表中找到:HKEY_LOCAL_MACHINESOFTWAREMICROSOFTWINDOWS NTCURRENTVERSION IMAGE FILE EXECUTION OPTIONS項,對目標(biāo)文件進(jìn)行映像劫持操作。觀察效果。【實訓(xùn)環(huán)境】l PC一臺,安裝Windows XP版本。l 第三方工具autoruns軟件【實訓(xùn)步驟】1. 選擇NOTEPAD.EXE為被劫持的映像文件。打開注冊表編

2、輯器(在C:WINDOWS下打開regedit.exe文件或者在開始菜單中選擇“運行”,在“運行”中輸入regedit亦可),在注冊表中找到:HKEY_LOCAL_MACHINESOFTWAREMICROSOFTWINDOWS NTCURRENTVERSION IMAGE FILE EXECUTION OPTIONS項 圖1也可通過AUTORUNS軟件找到“映像劫持(IMAGE HIJACKS)”頁,找其中任意一項,右鍵點擊“跳轉(zhuǎn)到注冊表(JUMP TO)”即可跳轉(zhuǎn)到此注冊表項 圖2右鍵點擊該項,選擇“新建”“項”圖3用NOTEPAD.EXE來命名新建項,在NOTEPAD.EXE項中新建字符串

3、值,命名DEBUGGER, 圖4數(shù)值數(shù)據(jù)為NTSD D ,此時記事本文件就無法正常運行了。圖5圖6完成后,再啟動記事本程序,就會發(fā)現(xiàn)打不開了。也可以把該項的數(shù)值數(shù)據(jù)設(shè)定為另一文件的路徑,例如:C:WINDOWSregedit.exe則此時執(zhí)行notepad.exe時,就會自動跳轉(zhuǎn)到運行 regedit.exe附錄當(dāng)前的木馬、病毒似乎比較鐘情于“映像劫持”,通過其達(dá)到欺騙系統(tǒng)和殺毒軟件,進(jìn)而絕殺安全軟件接管系統(tǒng)。所謂的映像劫持(IFEO)就是Image File Execution Options,它位于注冊表的HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows

4、 NTCurrentVersion Image File Execution Options鍵值下。由于這個項主要是用來調(diào)試程序用的,對一般用戶意義不大,默認(rèn)是只有管理員和local User有權(quán)讀寫修改。雖然映像劫持是系統(tǒng)自帶的功能,對一般用戶來說根本沒什么用的必要,但是就有一些病毒通過映像劫持來做文章,表面上看起來是運行了一個正常的程序,實際上病毒已經(jīng)在后臺運行了。大部分的病毒和木馬都是通過加載系統(tǒng)啟動項來運行的,也有一些是注冊成為系統(tǒng)服務(wù)來啟動,他們主要通過修改注冊表來實現(xiàn)這個目的,主要有以下幾個鍵值:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsC

5、urrentVersionRunHKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWindows AppInit_DLLsHKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon NotifyHKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnceHKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesO

6、nce但是與一般的木馬、病毒不同的是,就有一些病毒偏偏不通過這些來加載自己,不隨著系統(tǒng)的啟動運行。木馬病毒的作者抓住了一些用戶的心理,等到用戶運行某個特定的程序的時候它才運行。因為一般的用戶,只要發(fā)覺自己的機子中了病毒,首先要察看的就是系統(tǒng)的加載項,很少有人會想到映像劫持,這也是這種病毒高明的地方。映像脅持(IFEO)就是對注冊表下HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options項進(jìn)行修改,其目的使用戶在執(zhí)行被劫持程序時不予執(zhí)行,而是執(zhí)行另一個指定程序(像病毒),其操作

7、方法很簡單:“開始”-“運行”-“regedit”:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options 然后選上Image File Execution Options,新建個項,然后,把這個項改成avp.exe,選上這個項,然后默認(rèn)右邊是空白的,點右鍵,新建個“字串符”,然后改名為“Debugger”這一步要做好,再雙擊該鍵,修改數(shù)據(jù)數(shù)值,把它改為 C:windowssystem32Virus.exe這樣,當(dāng)我們再運行avp.exe(卡巴)時,就會執(zhí)行C:windows

8、system32目錄下的Virus.exe其原理在于:NT系統(tǒng)在試圖執(zhí)行一個從命令行調(diào)用的可執(zhí)行文件運行請求時,先會檢查運行程序是不是可執(zhí)行文件,如果是的話,再檢查格式的,然后就會檢查是否存在。如果不存在的話,它會提示“系統(tǒng)找不到文件”或者是“指定的路徑不正確”等等。如果對于注冊表一點不懂的人,想運用映像脅持技術(shù)(IFEO),也是完全可以的,跟運用腳本,批處理修改注冊表是一樣的。創(chuàng)建一個批處理文件ifeo.bat ,內(nèi)容為:reg add HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion Image File Executi

9、on Options%1 /v Debugger /t REG_SZ /d %2 /f在命令行下使用方法:ifeo ,例:ifeo avp.exe C:windowssystem32Virus.exe這樣即可達(dá)到與上述修改注冊表相同的效果由于這個項主要是用來調(diào)試程序用的,對一般用戶意義不大。默認(rèn)是只有管理員和local system有權(quán)讀寫修改。 在注冊表的HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NT CurrentVersionImage File Execution Options處新建一個以殺毒軟件主程序命名的項,例如Rav.exe。然后再創(chuàng)

10、建一個子鍵“Debugger=C:WINDOWS system32drivers”。以后只要用戶雙擊 Rav.exe就會運行OSO的病毒文件,類似文件關(guān)聯(lián)的效果。【說明】oso.exe是一個典型的U盤病毒,典型特征就是在硬盤的每個盤下面生成autorun.inf和oso.exe文件,并在硬盤右鍵出現(xiàn)AUTO,并在系統(tǒng)盤下生成可執(zhí)行文件 c:/windows/system32/server.exe,殺毒軟件殺毒后導(dǎo)致打開regedit.exe等被映象劫持的軟件打開錯誤。 既然有這好處,我們當(dāng)然也可以利用這種技術(shù)留取各種后門例如shift后門sethc.exe 后門調(diào)用5個shiftWindows

11、RegistryEditorVersion5.00HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImageFileExecutionOptionssethc.exedebugger=c:windowssystem32cmd.exeon也可以在sql中利用這種辦法exec master.xp_regwrite HKEY_LOCAL_MACHINE,SOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options sethc.exe,debugger, R

12、EG_sz,c:windowssystem32cmd.exe on;-類似的我們還可以留取放大鏡后門magnify.exeshift后門 利用黏貼鍵漏洞;sethc.exe是按5下shift后,windows就執(zhí)行了system32下的sethc.exe。本來是為不方便按組合 鍵的人設(shè)計的,當(dāng)你服務(wù)器受到攻擊時,把sethc.exe 替換成木馬程序,就留下后門。你的服務(wù)器就等于他的服務(wù)器了解決的方法有兩種:一種去掉這個黏貼鍵功能,一種是修改改文件的權(quán)限以下內(nèi)容轉(zhuǎn)載自網(wǎng)絡(luò)第一種方法是直接刪除C:WINDOWSsystem32和C:WINDOWSsystem32dllcache這兩個目錄的 set

13、hc.exe文件,(注意:dllcache這個目錄是隱藏的,要在文件夾選項里選擇“顯示所有文件和文件夾”把“隱藏受系統(tǒng)保護(hù)的操作系統(tǒng)文件”的選擇取消才能看得到)。第二種方法是使用權(quán)限來約束這兩個文件C:WINDOWSsystem32和C:WINDOWSsystem32dllcache這兩個目錄的 sethc.exe文件,在權(quán)限里設(shè)置為所有用戶(Everyone)禁止運行。刪除不如直接禁止運行的好。這樣可以防止再次被安裝及覆蓋.ntsd用法ntsd從2000開始就是系統(tǒng)自帶的用戶態(tài)調(diào)試工具。被調(diào)試器附著(attach)的進(jìn)程會隨調(diào)試器一起退出,所以可以用來在命令行下終止進(jìn)程。使用ntsd自動就獲

14、得了debug權(quán)限,從而能殺掉大部分的進(jìn)程。只有System、SMSS.EXE和CSRSS.EXE不能殺。前兩個是純內(nèi)核態(tài)的,最后那個是Win32子系統(tǒng),ntsd本身需要它。ntsd會新開一個調(diào)試窗口,本來在純命令行下無法控制,但如果只是簡單的命令,比如退出(q),用-c參數(shù)從命令行傳遞就行了。【 ntsd -c q -p pid 】如果能知道進(jìn)程的pid,比如explorer.exe的pid為196,運行cmd后輸入ntsd -c q -p 136即可殺掉這個進(jìn)程?!?ntsd -c q -pn 進(jìn)程名 】只要知道了進(jìn)程的名稱,比如explorer.exe,運行cmd后輸入ntsd -c q

15、 -pn explorer.exe即可殺掉但是,如果同一個進(jìn)程(比如iexplorer.exe)開了多個,就會出現(xiàn)錯誤,所以,ntsd 每次只能結(jié)束一個單獨出現(xiàn)的進(jìn)程。下面為ntsd的用法和幫助ntsdusage: ntsd -? -2 -d -g -G -myob -lines -n -o -s -v -w -r BreakErrorLevel -t PrintErrorLevel -hd -pd -pe -pt # -pv -x | -xe|d|n|i - | -p pid | -pn name | command-line | -z CrashDmpFile -zp CrashPageF

16、ile -premote transport -robp -aDllName -c command -i ImagePath -y SymbolsPath -clines # -srcpath SourcePath -QR machine -wake -remote transport:server=name,portid -server transport:portid -ses -sfce -sicv -snul -noio -failinc -noshell【command-line】 在dubugger模式下運行【-】 默認(rèn)為執(zhí)行【-G -g -o -p -1 -d -pd】參數(shù)【-a

17、DllName】設(shè)置默認(rèn)的擴(kuò)展dll【-c】執(zhí)行后面的dubugger命令 【-clines】 number of lines of output history retrieved by a remote client【-failinc】失敗時產(chǎn)生不完全的符號和模型【-d】 通過DbgPrint向kernel(核心)發(fā)送debugger輸出信息 注: -d 不可與debugger remoting同用 -d 只能在kernel(核心)debugger 可以用時才能使用【-g】在debuggee下忽略初始化斷點 【-G】忽略程序結(jié)束時的最終斷點【-hd】規(guī)定debug命令集不能用于(dubug

18、gee)創(chuàng)建的程序。該參數(shù)只能作用在Windows Whistler(windows xp的測試版本)系統(tǒng)上 【-o】 debug所有由debuggee載入的程序【-p pid】指定要綁定的進(jìn)程的十進(jìn)制ID(就是pid)【-pd】 指定debugger自動與綁定的程序分離【-pe】 規(guī)定任何綁定都要對應(yīng)一個存在的debug端口【-pt #】指定中斷超時時間 【-pv】 指定任何綁定都是封閉的,不對外共享 【-r】 指定03等級的中斷(SeeSetErrorLevel)【-robp】允許在只讀內(nèi)存中設(shè)置斷點【-t】 指定顯示03級的錯誤(SeeSetErrorLevel) 【-w】 指定在一個單

19、獨的VDM(DOS虛擬機)中debug 16位應(yīng)用程序【-x】 在AV排除項中設(shè)置第二個可選斷點 -xe|d|n|i 為指定的事件設(shè)置中斷狀態(tài) 【-2】 為debuggee創(chuàng)建一個單獨核心的窗口Ntsd.exe的用法:ntsd -c q -p PID或者ntsd -c q pn ImageName- c是表示執(zhí)行debug命令,q表示執(zhí)行結(jié)束后退出(quit),-p 表示后面緊跟著是你要結(jié)束的進(jìn)程對應(yīng)的PID,-pn 表示后面緊跟著是你要結(jié)束的進(jìn)程名(process_name.exe 比如:QQ.exe,explorer.exe 等等,值得注意的是后綴名.exe是不可省略的,否則系統(tǒng)會告訴你“不支持此接口”)查看pid及進(jìn)程名,我們可以在任務(wù)管理器看,在特殊情況下,也可以使用tasklist命令。比如我們要結(jié)束pid為3212的進(jìn)程maxthon.exe,那么我們可以在命令提示符中輸入:ntsd -c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論