20181302張辰旭
實(shí)踐作業(yè)5.1 簡單靜態(tài)分析1.將樣例代碼上傳到在線殺毒中心進(jìn)行分析并查看報(bào)告,從報(bào)告可以看出什么信息?2.這個(gè)文件是否加殼了?如果加殼了,請進(jìn)行脫殼;3.有沒有導(dǎo)入函數(shù)能夠暗示出這個(gè)程序的功能?如果有,你認(rèn)為是哪些函數(shù),從這些函數(shù)你可以得到什么信息?4.有沒有什么線索可以被用來在被感染主機(jī)上進(jìn)行該惡意代碼的查找?5.這個(gè)文件的作用可能是什么?
1.將樣例代碼上傳到在線殺毒中心進(jìn)行分析并查看報(bào)告,從報(bào)告可以看出什么信息?
上傳完畢,會來到檢查結(jié)果頁面。頁面給出了文件校驗(yàn)和和各種殺毒軟件的檢查結(jié)果,其中還有一些殺毒軟件給出的詳細(xì)的分類。

切換到DETAILS選項(xiàng),可以看到更多信息。如,可執(zhí)行文件類型,運(yùn)行子系統(tǒng),校驗(yàn)和等。

如下圖,可以看到程序編譯時(shí)間戳,各個(gè)段,導(dǎo)入的DLL等。


展開Imports,我們可以看到程序引用了那些具體的API。通過這個(gè)我們可以了解惡意程序可能做的事情。

切換到BEHAVIOR選項(xiàng)卡,可以查看程序在沙河里運(yùn)行測試的行為,包括打開了哪些文件,寫了哪些文件,請求了哪些權(quán)限等。

2.這個(gè)文件是否加殼了?如果加殼了,請進(jìn)行脫殼;
利用PEiD工具進(jìn)行查殼,發(fā)現(xiàn)無殼,程序?yàn)閂isual C++編寫

或者通過查看報(bào)告:

3.有沒有導(dǎo)入函數(shù)能夠暗示出這個(gè)程序的功能?如果有,你認(rèn)為是哪些函數(shù),從這些函數(shù)你可以得到什么信息?
首先用PEview查看導(dǎo)入表位置


之后看到導(dǎo)入的函數(shù):

再通過PE Explorer查看具體直觀的函數(shù),或者查看第一部分的報(bào)告

MapViewOfFile功能是將一個(gè)文件映射對象映射到當(dāng)前應(yīng)用程序的地址 空間。MapViewOfFileEx允許我們指定一個(gè)基本地址來進(jìn)行映射。
UnmapViewOfFile,是停止當(dāng)前程序的一個(gè)內(nèi)存映射。
FindFirstFile則為根據(jù)文件名查找文件
FindNextFile是一個(gè)函數(shù),可以用來遍歷目錄或文件時(shí),判斷當(dāng)前目錄下是否有下一個(gè)目錄或文件。
FindClose用于釋放由FindFirst分配的內(nèi)存,可以停止一個(gè)FindFirst/FindNext序列。是計(jì)算機(jī)程序上的一個(gè)運(yùn)算指令。
MapViewOfFile和MapViewOfFileEx函數(shù)使用CreateFileMapping返回的文件映射對象句柄來在進(jìn)程的虛擬地址空間里建立文件的視圖,或者文件的某個(gè)部分。如果這些函數(shù)指定的權(quán)限標(biāo)志和CreateFileMapping中的權(quán)限標(biāo)志不一致,則會執(zhí)行失敗。
IsBadReadPtr用來檢查進(jìn)程是否有權(quán)限訪問指定的內(nèi)存塊。
其中的內(nèi)存映射可能還會使感染程序每運(yùn)行一次增加4kb大小,并隨著運(yùn)行次數(shù)不斷增加。通過這些函數(shù)大體可以猜測出它的功能是遍歷你的文件目錄,根據(jù)文件名進(jìn)行查找并copy復(fù)制備份。根據(jù)之前的報(bào)告種的沙盒測試也可以看出它打開了許多文件,寫入甚至刪除了一些文件。

4.有沒有什么線索可以被用來在被感染主機(jī)上進(jìn)行該惡意代碼的查找?


通過觀察字符串可以看到和之前的函數(shù)沒有什么差別。
5.這個(gè)文件的作用可能是什么?
浙公網(wǎng)安備 33010602011771號