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

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

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

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

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

fhgytmnbvpwt.exe
下載回來的exe文件經Peid查殼后顯示無殼,直接拖到分析神器ida中進行查看,反編譯,發現多個autoit字符串,猜測是有autoit編譯而成的可執行文件

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

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

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


檢測“wireshark.exe”進程

檢測” avastui.exe”進程

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

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


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

|