惡意程式碼分析實戰 Lab 3-2 習題筆記
Lab 3-2
問題
1.你怎樣才能讓這個惡意程式碼自行安裝?
解答: 這個看書上解答是
利用rundll32.exe工具,使用命令
rundll32.exe Lab03-02.exe, installA
,來執行惡意程式碼匯出installA函式,便可將惡意程式碼安裝為一個服務
這是怎麼發現的呢
先使用靜態分析技術
PEview
找到這麼五個匯出函式
然後再用Dependency Walker
檢視依賴,會發現一些有趣的函式
說明程式碼會建立程序,執行緒
說明程式碼會操作服務,還有操作登錄檔
然後這個惡意程式碼還使用網路連線等等
然後我們看看字串列表
字串中我們可以發現譬如域名
practicalmalwareanalysis.com
還有函式
ServiceMain
UninstallService
installA
uninstallA
還有一個網頁
serve.html
還有譬如下載檔案的
getfile
執行檔案的
cmd.exe /c
還有一些登錄檔操作的語句
其實一般的DLL是沒有這個.rdata
比如我們隨便找個系統dll開啟
我們也可以嘗試用install
這個匯出函式來安裝惡意程式碼,試試
這裡有個小技巧,就是windows下用cmd切換目錄感覺很飯的樣子,其實cmd.exe
c:\windows\system32\cmd.exe
,可以把它拷貝出來,放桌面,然後你要切換到哪個目錄,就直接把這個exe又複製到那個目錄,然後點選開啟就切換到了,當然,這是歪門邪道
做好一切的必要準備,登錄檔快照儲存,process explorer
開啟,輸入
rundll32.exe Lab03-02.dll,install
然後檢視登錄檔對比,發現
這個DLL建立了一個叫IPRIP
的服務
然後我們發現這麼幾個新建的登錄檔值很有意思
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\IPRIP\Parameters]
"ServiceDll" =hex(2):43,00,3a,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,\
00,74,00,73,00,20,00,61,00,6e,00,64,00,20,00,53,00,65,00,74,00,74,00,69,00,\
6e,00,67,00,73,00,5c,00,36,00,34,00,5c,00,4c,68,62,97,5c,00,42,00,69,00,6e,\
00,61,00,72,00,79,00,43,00,6f,00,6c,00,6c,00,65,00,63,00,74,00,69,00,6f,00,\
6e,00,5c,00,43,00,68,00,61,00,70,00,74,00,65,00,72,00,5f,00,33,00,4c,00,5c,\
00,4c,00,61,00,62,00,30,00,33,...
install
這個函式基本就是幹這些事的,沒見任何可疑的,然後我們還原在試試installA
然後和剛才那個一樣,所以我們可以得出這個結論install
和installA
是一樣
然後我們開始分析
這裡有個可以注意的地方ImagePath
值分析過來就是下面這個
%SystemRoot%\System32\svchost.exe -k netsvcs
然後可以分析得出就是這個DLL會將自己安裝成為一個服務IPRIP
,然後由於這個惡意程式碼是個DLL檔案,它就依賴一個可執行檔案來執行它,然後它依賴的就是svhost.exe
這個可執行檔案來啟動
2.在安裝之後,你如何讓這個惡意程式碼執行起來?
解答: 用windows啟動服務的方式來啟動
net start IPRIP
3.你怎麼能找到這個惡意程式碼是在哪個程序下執行的?
解答: 用Process Explorer
Find
選單-> Find Handle or DLL...
然後
尋找我們那個DLL檔案
然後點search
就行了
結果我們會發現這個pid
為1100(在不同電腦上這個值會不同)
然後我們去查詢這個pid
為1100,名字叫svchost.exe
的程序
然後就找到了
4.你可以在procmon工具中設定什麼樣的過濾器,才能收集這個惡意程式碼的資訊?
解答: 書中的答案是
用發現的PID就行過濾
我們試試
(我這個虛擬機器同時開procexp和procmon會崩潰-_-)
然後我是看svchost.exe
啟動那個exe來找這個svchost.exe
的
然後我發現一個有趣的東西
去看看這是啥
INDEX.BTR
是這樣的
唯一一個能看懂明文的是這個
然後裡面記錄了本機的一些基本資訊
CIM是啥
這個惡意程式碼在主機上的感染跡象是什麼?
解答: 感染跡象就是會有建立一個服務叫IPRIP
這個惡意程式碼是否存在一些有用的網路特徵碼?
解答: 我們先去看看DNSChef
和INetSim
伺服器上的 記錄
先檢查一下dns的解析記錄,用DNSChef
虛擬機器看
和我們前面發現的惡意域名是對應的
然後我們在看看INetSIm
虛擬機器上的記錄,記錄在log/service.log
裡面
我們可以注意到這個解析
這個DLL從我們的fake伺服器下載一個serve.html
,而我們偉大的INetSim
返回了sample.html
作為serve.html
其實這裡就不需要用netcat
來監聽本地80埠了
所以這個網路特徵就是那個漫長的惡意域名的解析,和對惡意域名請求一個serve.html
本文完