淺談土木惡意程序的逆向取證方法_第1頁
淺談土木惡意程序的逆向取證方法_第2頁
淺談土木惡意程序的逆向取證方法_第3頁
淺談土木惡意程序的逆向取證方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

淺談土木惡意程序的逆向取證方法

1木馬惡意程序特洛伊木馬惡意軟件隱藏在受害者的計算機(jī)系統(tǒng)和智能終端上,并秘密記錄用戶輸入的敏感信息,竊取受害者主機(jī)上的敏感文件。此外,它還可以收聽受害者的聲音、視頻和通信數(shù)據(jù)。目前,木馬惡意程序常用的取證方法是逆向分析法2lordpe分析木馬程序使用不同系統(tǒng)函數(shù)進(jìn)行的關(guān)鍵信息通過對多個木馬樣本進(jìn)行分析,我們發(fā)現(xiàn)不管是什么類型的木馬惡意程序通常都要實(shí)現(xiàn)幾個特定的核心功能,如進(jìn)程隱藏、開機(jī)自動運(yùn)行、躲避殺毒軟件查殺、繞過防火墻攔截、實(shí)現(xiàn)與攻擊者的遠(yuǎn)程通信聯(lián)絡(luò)、實(shí)現(xiàn)特定的惡意功能等基于“關(guān)鍵函數(shù)”斷點(diǎn)設(shè)置的木馬惡意程序取證方法如圖1所示,首先取證工具Lordpe分析木馬程序使用了哪些系統(tǒng)函數(shù),從一些關(guān)鍵的系統(tǒng)函數(shù)可以初步判斷出惡意程序采用了哪些功能(例如木馬使用了createfile和deletefile函數(shù),說明它很可能向硬盤釋放了特定文件,同時還進(jìn)行了文件刪除操作),在關(guān)鍵函數(shù)上設(shè)置訪問斷點(diǎn),動態(tài)調(diào)試木馬程序,程序會自動停在斷點(diǎn)位置,從函數(shù)的傳入?yún)?shù)可以提取出關(guān)鍵的涉案信息(例如創(chuàng)建或刪除的文件名稱和路徑),使用這種方法可以簡化木馬程序的取證分析工作。本文以一款名為“紅蜘蛛”的盜號木馬為例,研究基于“關(guān)鍵函數(shù)”斷點(diǎn)設(shè)置的惡意程序取證分析方法。這款木馬程序文件的名稱是“紅蜘蛛v119版.exe”,文件大小為57344字節(jié),文件的MD5值為7C49FF0DE960DC67C1F52C00CD9E3423。本文研究對象為脫殼后的木馬惡意程序,具體的脫殼技術(shù)不在文章討論范圍內(nèi)。3木馬結(jié)果的對比首先使用Loadpe工具打開“紅蜘蛛v119版.exe”,查看木馬程序使用了哪些系統(tǒng)函數(shù),結(jié)果如圖2所示。木馬程序使用了KERNEL32.dll和ADVAPI32.dll兩個動態(tài)鏈接庫,點(diǎn)擊每個dll文件名,會顯示出木馬使用了該dll文件中的哪些系統(tǒng)函數(shù)。我們首先對CreateFile函數(shù)進(jìn)行分析,函數(shù)的原型定義如圖3所示。這是一個多功能函數(shù),可打開或創(chuàng)建以下對象:通信資源、控制臺、磁盤驅(qū)動器、目錄、文件、管道、郵槽,返回可訪問的句柄。函數(shù)共有6個參數(shù),lpFileName表示即將打開的文件名稱,通過這個參數(shù)可以確定木馬創(chuàng)建的文件名稱和存儲路徑。dwDesiredAccess指定訪問對象的模式,如果值為GENERIC_WRITE表示允許對設(shè)備進(jìn)行寫訪問;如果該值為GENERIC_READ表示允許對設(shè)備進(jìn)行讀訪問;如果值為零,表示只允許獲取與一個設(shè)備有關(guān)的信息。dwShareMode表示共享模式,如果值為零表示不共享,例如值為FILE_SHARE_READ表示讀請求可以成功執(zhí)行;值為FILE_SHARE_DELETE表示刪除請求可以成功執(zhí)行;如果值為FILE_SHARE_WRITE表示寫請求可以成功執(zhí)行。lpSecurityAttributes指向一個SECURITY_ATTRIBUTES結(jié)構(gòu)體指針,定義了文件的安全屬性。dwCreationDisposition代表文件如何創(chuàng)建,具體含義結(jié)合木馬實(shí)例分析。dwFlagsAndAttributes表示文件屬性。hTemplateFile存儲一個文件或設(shè)備句柄,表示以這個參數(shù)給出的句柄為模板創(chuàng)建文件。它將指定文件的相關(guān)屬性復(fù)制到新創(chuàng)建的文件上,這個參數(shù)可用于將某個新創(chuàng)建文件的屬性設(shè)置成與現(xiàn)有文件屬性完全相同,這種情況下函數(shù)會自動忽略dwFlagsAndAttributes參數(shù)。通常情況下這個參數(shù)值設(shè)置為NULL,表示不使用任何模板。使用Ollydbg在CreateFileA函數(shù)上設(shè)置訪問斷點(diǎn),當(dāng)木馬程序中斷在這個位置時,從lpFileName參數(shù)可以獲得木馬向硬盤釋放文件的路徑和名稱。圖4顯示的是木馬程序第一次中斷時Ollydbg顯示的系統(tǒng)堆棧狀態(tài),通過系統(tǒng)堆??梢钥吹侥抉R程序傳遞給CreateFileA函數(shù)的7個參數(shù)值。第一個參數(shù)FileName顯示木馬程序向C:\WINDOWS\system32路徑釋放了一個名為redspider.dll的文件。再次按下F9鍵,木馬程序第二次中斷在CreateFileA函數(shù)的入口位置。圖5顯示的是第二次中斷時,系統(tǒng)堆棧顯示的參數(shù)信息??梢娔抉R向C盤根目錄釋放了一個名為inflexible.wav的文件。從擴(kuò)展名來看,inflexible.wav應(yīng)該是一個音頻文件。但是,查看該文件屬性顯示大小只有303字節(jié),顯然不符合音頻文件的容量特點(diǎn)。使用記事本打開這個文件,查看到的結(jié)果如圖6所示。這組數(shù)據(jù)疑似木馬設(shè)置的相關(guān)參數(shù),發(fā)送郵件服務(wù)器使用的是,發(fā)信郵箱是stp888@163.com,郵箱登錄密碼是86982430。其他信息的含義和作用需要通過匯編代碼分析來加以確定。4木馬的檢測算法設(shè)計為了防止惡意程序被發(fā)現(xiàn),木馬運(yùn)行之后通常不會在受害者主機(jī)系統(tǒng)內(nèi)產(chǎn)生一個獨(dú)立的進(jìn)程,而是將自身隱藏到某個合法進(jìn)程之內(nèi)。目前經(jīng)常采用的進(jìn)程隱藏技術(shù)是遠(yuǎn)程線程植入,木馬源程序以dll文件形式存在,通過遠(yuǎn)程線程植入方式進(jìn)入目標(biāo)進(jìn)程運(yùn)行。這樣一來,就可以獲得合法進(jìn)程的相關(guān)權(quán)限。例如用戶計算機(jī)上的防火墻軟件通常會攔截某個客戶程序與因特網(wǎng)的主動連接請求,但是不會攔截IE瀏覽器進(jìn)程與外界的通信連接,否則用戶將不能瀏覽任何網(wǎng)頁信息。木馬程序只要將自身植入IE瀏覽器進(jìn)程,就可以合法進(jìn)程身份通過防火墻的攔截,與外界進(jìn)行網(wǎng)絡(luò)通信。使用Loadpe查看到“紅蜘蛛v119版.exe”木馬程序使用了4個涉及遠(yuǎn)程線程植入的系統(tǒng)函數(shù):OpenProcess、VirtualAllocEx、WriteProcessMemory和CreateRemoteThread。OpenProcess函數(shù)的主要功能是打開一個進(jìn)程,同時返回該進(jìn)程的句柄。WriteProcessMemory函數(shù)負(fù)責(zé)將dll惡意程序數(shù)據(jù)內(nèi)容寫入到合法進(jìn)程的地址空間里。CreateRemoteThread函數(shù)負(fù)責(zé)遠(yuǎn)程啟動dll惡意程序。從這些系統(tǒng)函數(shù)傳遞的參數(shù)里可以獲得重要的涉案信息,參數(shù)關(guān)系分析如圖7所示。OpenProcess函數(shù)的第三個參數(shù)dwProcessId代表被打開的目標(biāo)進(jìn)程PID,利用這個數(shù)值可以確定木馬附著到哪個系統(tǒng)進(jìn)程上。OpenProcess函數(shù)的返回值是一個HANDLE類型的句柄,這個值和WriteProcessMemory函數(shù)的第一個參數(shù)以及CreateRemoteThread函數(shù)的第一個參數(shù)值相同,通過該值可以進(jìn)行關(guān)聯(lián)。WriteProcessMemory函數(shù)的第三個參數(shù)lpBuffer存儲了dll惡意程序的路徑和名稱,第二個參數(shù)存儲了惡意程序?qū)懭雰?nèi)存的起始地址,這個參數(shù)和CreateRemoteThread函數(shù)的第五個參數(shù)值相同。通過這些函數(shù)之間的相互關(guān)系,可以確定一個dll惡意程序被加載到哪個系統(tǒng)進(jìn)程之中。使用Ollydbg對“紅蜘蛛v119版.exe”木馬程序進(jìn)行分析,在圖7所示3個函數(shù)上設(shè)置斷點(diǎn),提取出函數(shù)中斷時傳遞的內(nèi)存參數(shù),分析結(jié)果如圖8所示。OpenProcess函數(shù)的ProcessId參數(shù)值為3784,調(diào)出任務(wù)管理器查詢到這個PID對應(yīng)的是explorer進(jìn)程。函數(shù)返回一個句柄,值為0X0028,這個值與WriteProcessMemory函數(shù)和CreateRemoteThread函數(shù)的第一個參數(shù)相同,說明木馬使用這兩個函數(shù)向explorer進(jìn)程寫入數(shù)據(jù)。WriteProcessMemory函數(shù)的第三個參數(shù)存儲了被寫入dll文件的存儲路徑和名稱,查看起始地址為0X00407CFC的內(nèi)存區(qū)域可以看到“C:\WINDOWS\system32

edspider.dll”字符串,可見惡意dll程序被附著到explorer進(jìn)程。5對木馬傳遞參數(shù)值進(jìn)行分析木馬程序?yàn)榱藢?shí)現(xiàn)對受害者主機(jī)的長久、穩(wěn)定控制,通常要實(shí)現(xiàn)開機(jī)自動運(yùn)行機(jī)制,即木馬程序在受害者主機(jī)每次開機(jī)后自動運(yùn)行。木馬自動運(yùn)行方式的分析對于從主機(jī)內(nèi)清除惡意程序至關(guān)重要。使用Loadpe查看“紅蜘蛛v119版.exe”,發(fā)現(xiàn)在ADVAPI32.dll鏈接庫下存在3個與注冊表操作相關(guān)的系統(tǒng)函數(shù):RegOpenKeyExA、RegSetValueExA和RegCloseKey函數(shù)。對注冊表執(zhí)行寫入操作是實(shí)現(xiàn)程序開機(jī)運(yùn)行的常用方式,我們先來分析這幾個函數(shù)的參數(shù)關(guān)系。圖9說明了RegOpenKeyEx和RegSetValueEx函數(shù)的參數(shù)關(guān)系,RegOpenKeyEx函數(shù)的第一個參數(shù)hKey存儲了準(zhǔn)備打開的主鍵、第二個參數(shù)lpSubKey存儲了準(zhǔn)備打開的子鍵、第三個參數(shù)phKResult和RegSetValueEx函數(shù)的第一個參數(shù)存儲的是相同的句柄值,通過這個數(shù)值可以確定是對注冊表哪個鍵值進(jìn)行操作。RegSetValueEx函數(shù)的第二個參數(shù)lpValueName存儲的是寫入的變量名稱,第五個參數(shù)存儲寫入的變量值。通過在這兩個函數(shù)上設(shè)置斷點(diǎn),可以獲得傳遞的參數(shù)值,進(jìn)而明確木馬向那個注冊表鍵值寫入了什么數(shù)據(jù)。使用Ollydbg對“紅蜘蛛v119版.exe”木馬程序進(jìn)行分析,在圖9所示兩個函數(shù)上設(shè)置斷點(diǎn),提取出函數(shù)中斷時傳遞的參數(shù)值,分析結(jié)果如圖10所示。RegOpenKeyEx函數(shù)的前兩個參數(shù)hKey和SubKey指明木馬操作的注冊表鍵值為“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”,這個鍵值存儲的是計算機(jī)的開機(jī)啟動項(xiàng),該鍵值下的應(yīng)用程序?qū)⒃谟嬎銠C(jī)開機(jī)后自動運(yùn)行。第五個參數(shù)存儲的是打開句柄,本例值為0X00000024,這個數(shù)值與RegSetValueEx函數(shù)的第一個參數(shù)值相同,通過該值可以確定RegSetValueEx函數(shù)是對之前打開的鍵值進(jìn)行寫入操作,寫入的變量名為RedSpider,變量值存儲在第五個參數(shù)中,即內(nèi)存地址0X00407C84位置。直接查看這個內(nèi)存位置,可以看到存儲的數(shù)值為“C:\WINDOWS\system32

edspider.exe”,說明計算機(jī)開機(jī)后,將自動運(yùn)行系統(tǒng)目錄下的redspider.exe程序,但此時該程序文件還沒有生成。6木馬主體行為分析“紅蜘蛛v119版.exe”主體程序引用的動態(tài)鏈接庫中沒有使用到網(wǎng)絡(luò)通信函數(shù)和鍵盤監(jiān)控等相關(guān)函數(shù),因此,對主體程序的分析可以暫時告一段落,分析結(jié)論如圖11所示。通過文件操作行為分析發(fā)現(xiàn)木馬向系統(tǒng)目錄下釋放了一個名為redspiderdll動態(tài)鏈接庫文件,向C盤根目錄下釋放了一個名為inflexible.wav的參數(shù)配置文件。通過進(jìn)程隱藏方式分析發(fā)現(xiàn)木馬程序通過遠(yuǎn)程線程植入的方式將redspider.dll植入explorer進(jìn)程空間運(yùn)行。通過自動運(yùn)行方式分析發(fā)現(xiàn)木馬在注冊表啟動鍵下寫入鍵值,實(shí)現(xiàn)開機(jī)自動運(yùn)行redspid

溫馨提示

  • 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

提交評論