剛開始接觸惡意代碼分析,正所謂光說不練假把式,所以在網(wǎng)上找了一個(gè)惡意樣本進(jìn)行分析練習(xí),于此記錄一下分析過程。
樣本信息
樣本名稱:721985.eml樣本md5:c79873c63a56d514600c0df8d497bad3樣本來源:網(wǎng)絡(luò)來源
分析工具
反匯編工具:ida調(diào)試工具:od分析環(huán)境:win xp 虛擬機(jī)Oletools
樣本分析
721985.eml
該樣本文件帶有一個(gè)doc附件,并用誘惑性的語言引導(dǎo)用戶打開附件

將附件另存到磁盤上,然后使用oletools套件中的rtfobj.exe看一下是否是有問題的文檔

可見該附件中包含一個(gè)ole對象,且有可能是CVE-2017-11882的漏洞利用文檔。對于CVE-2017-11882這個(gè)漏洞網(wǎng)上有很多描述,詳情可移步https://www.anquanke.com/post/id/87311看大佬的詳細(xì)分析。漏洞利用文檔成功利用運(yùn)行后,shellcode會由公式編輯器(EQNEDT32.EXE)執(zhí)行,所以這里將od設(shè)置為EQNEDT32.EXE的調(diào)試器,用于附加調(diào)試shellcode。設(shè)置方法:在注冊表HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTcurrentversionimage file execution options下新建一個(gè)EQNEDT32.EXE項(xiàng),之后在該項(xiàng)下新建字符串值并將名稱改為” debugger”,并將數(shù)值數(shù)據(jù)設(shè)置為od所在路徑,如下圖所示:

設(shè)置成功后,EQNEDT32.EXE一旦啟動,od便能附加上去了。
Shellcode
利用UrlDownloadToFile從http://tsqm.business-ferien.de/bntwr.exe下載可執(zhí)行文件到%appdata%目錄下并命名為fhgytmnbvpwt.exe。

下載成功后利用CreateProcessW啟動fhgytmnbvpwt.exe

fhgytmnbvpwt.exe
下載回來的exe文件經(jīng)Peid查殼后顯示無殼,直接拖到分析神器ida中進(jìn)行查看,反編譯,發(fā)現(xiàn)多個(gè)autoit字符串,猜測是有autoit編譯而成的可執(zhí)行文件

嘗試使用autoit反編譯工具Exe2Aut進(jìn)行反編譯,順利得到autoit腳本

腳本經(jīng)過大量混淆,增大分析難度,字符串通過hwthr()函數(shù)解密獲得。分析hwthr()函數(shù),發(fā)現(xiàn)解密過程是將第一個(gè)參數(shù)每四位分割之后減去6111,再將得到的差值轉(zhuǎn)換為字符。這里先通過python腳本解密出所有字符串,注釋到腳本內(nèi),以增加分析效率,解密注釋腳本如下:

整理后的autoit腳本
檢測進(jìn)程是否有”SbieCtrl.exe”,” vmtoolsd.exe”來反沙箱/虛擬機(jī)


檢測“wireshark.exe”進(jìn)程

檢測” avastui.exe”進(jìn)程

在%Roaming%目錄下創(chuàng)建“gKm5yLugSu”文件夾,拷貝自身到該文件夾下,文件名為” gKm5yLugSu.exe”

在開始菜單目錄下創(chuàng)建”gKm5yLugSu.eu”快捷方式用于啟動”gKm5yLugSu.exe”,并將該文件寫入注冊表啟動項(xiàng)


拷貝當(dāng)前目錄下的”YgkkyzII.LQ “文件到%temp%目錄下,命名為” bz.v”

|