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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

4、 NTCurrentVersion Image File Execution Options鍵值下。由于這個項主要是用來調試程序用的,對一般用戶意義不大,默認是只有管理員和local User有權讀寫修改。雖然映像劫持是系統(tǒng)自帶的功能,對一般用戶來說根本沒什么用的必要,但是就有一些病毒通過映像劫持來做文章,表面上看起來是運行了一個正常的程序,實際上病毒已經在后臺運行了。大部分的病毒和木馬都是通過加載系統(tǒng)啟動項來運行的,也有一些是注冊成為系統(tǒng)服務來啟動,他們主要通過修改注冊表來實現這個目的,主要有以下幾個鍵值: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項進行修改,其目的使用戶在執(zhí)行被劫持程序時不予執(zhí)行,而是執(zhí)行另一個指定程序(像病毒),其操作

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

8、system32目錄下的Virus.exe其原理在于:NT系統(tǒng)在試圖執(zhí)行一個從命令行調用的可執(zhí)行文件運行請求時,先會檢查運行程序是不是可執(zhí)行文件,如果是的話,再檢查格式的,然后就會檢查是否存在。如果不存在的話,它會提示“系統(tǒng)找不到文件”或者是“指定的路徑不正確”等等。如果對于注冊表一點不懂的人,想運用映像脅持技術(IFEO),也是完全可以的,跟運用腳本,批處理修改注冊表是一樣的。創(chuàng)建一個批處理文件ifeo.bat ,內容為: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這樣即可達到與上述修改注冊表相同的效果由于這個項主要是用來調試程序用的,對一般用戶意義不大。默認是只有管理員和local system有權讀寫修改。 在注冊表的HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NT CurrentVersionImage File Execution Options處新建一個以殺毒軟件主程序命名的項,例如Rav.exe。然后再創(chuàng)

10、建一個子鍵“Debugger=C:WINDOWS system32drivers”。以后只要用戶雙擊 Rav.exe就會運行OSO的病毒文件,類似文件關聯的效果?!菊f明】oso.exe是一個典型的U盤病毒,典型特征就是在硬盤的每個盤下面生成autorun.inf和oso.exe文件,并在硬盤右鍵出現AUTO,并在系統(tǒng)盤下生成可執(zhí)行文件 c:/windows/system32/server.exe,殺毒軟件殺毒后導致打開regedit.exe等被映象劫持的軟件打開錯誤。 既然有這好處,我們當然也可以利用這種技術留取各種后門例如shift后門sethc.exe 后門調用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。本來是為不方便按組合 鍵的人設計的,當你服務器受到攻擊時,把sethc.exe 替換成木馬程序,就留下后門。你的服務器就等于他的服務器了解決的方法有兩種:一種去掉這個黏貼鍵功能,一種是修改改文件的權限以下內容轉載自網絡第一種方法是直接刪除C:WINDOWSsystem32和C:WINDOWSsystem32dllcache這兩個目錄的 set

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

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

15、 -pn explorer.exe即可殺掉但是,如果同一個進程(比如iexplorer.exe)開了多個,就會出現錯誤,所以,ntsd 每次只能結束一個單獨出現的進程。下面為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模式下運行【-】 默認為執(zhí)行【-G -g -o -p -1 -d -pd】參數【-a

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

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

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

溫馨提示

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

評論

0/150

提交評論