在嘗試學習分析的過程中,判斷結論不一定准確,只是一些我自己的思考和探索。敬請批評指正!
1. 實踐內容
- 搜索、下載並執行Process Monitor,觀察隨着時間的推移,軟件所記錄信息;設置監控條件對惡意代碼敏感的功能進行監控。
- 搜索、下載並執行Process Explorer,查看進程列表,選擇相應進程進行簽名驗證,對比其硬盤上的文件和內存中的鏡像,結合Dependency Walker對其所載入的dll文件進行比對。
- 搜索、下載並執行Regshot,觀察注冊表的變化情況。
2. 實踐一:lab03-01.exe
(1)簡單靜態分析
-
使用常用工具查看:

-
本程序被加殼,只能看到一個導入函數。

-
雖然是加過殼的,但是可以看到比較多的信息:
- 有一些路徑、一個網址:可能有聯網下載的操作
- 一個exe程序名:可能是寫入的惡意程序
- 注冊表自啟動項鍵值:可能程序要把自己寫入自啟動項
-
在之后的分析中應該關注網絡連接和下載、注冊表更改、新程序的寫入的操作。
-
然后就可以開啟監視工具並運行Lab01-03.exe進行簡單的動態分析了。
(2)使用Process Monitor分析
-
由於這個工具監視的項目過多,進行過濾操作:對Lab03-01.exe程序對注冊表鍵值的更改操作、寫文件的操作過濾顯示。

-
可以看到:

-
惡意代碼在系統盤下寫入了一個新程序vmx32to64.exe(就是之前看到的那個exe字符串),這個新的可執行程序的長度為7168。實際上,它與Lab03-01.exe程序本身長度是一致的:

-
可以推測它將自己復制到了system32文件夾下。
-
再看過濾出的寫入注冊表值:

-
顯示對注冊表鍵值的更改成功。雙擊查看詳情:

-
可以看到寫入的注冊表自啟動項鍵值的數據,路徑就是剛創建的那個可執行程序。
(3)使用Process Explorer分析
-
開啟Process Explorer:

-
可以看到Lab03-01.exe是一個已經運行的進程。查看這個進程連接的dll:

-
這個程序應該是有聯網的操作。對dll進行簽名驗證:

-
查看內存鏡像和硬盤鏡像中可執行文件的字符串列表(之前驗證的是磁盤上的鏡像而不是內存中的,通過這樣的比較可以分析代碼是否有做手腳):

(4)Regshot注冊表的變化情況
-
在運行Lab03-01.exe之前進行一次注冊表快照,運行之后在進行一次,並進行比較:

-
可以看到顯示注冊表有一個值有改變:

-
鍵值名為VideoDriver,鍵值為C盤下system32中的vmx32to64.exe。
(5)網絡行為
-
由於分析它有網絡行為,所以用wireshark進行抓包:

-
可以看到這個程序有一個向www.practicalmalwareanalysis.com連接的包,之后與這個ip(192.0.78.25)有數據傳遞的包。
(6)從主機上觀察現象
-
新增加了一個文件:

-
修改的注冊表鍵值:

3. 實踐二:lab03-02.dll
(1)簡單靜態分析
-
從PEiD中我們可以知道,這個dll文件是沒有加殼的,並且很可能開啟了一個服務:

-
導入函數顯示它很有可能是網絡相關的:

-
查看這個dll的導出函數有五個,而導出名部分看起來應該是installA。

(2)運行這個dll程序
-
借助rundll32.exe工具運行起來這個dll:

-
查看注冊表的變化:



-
可以看到這個惡意代碼將自身安裝為一個IPRIP的服務,很有可能是通過svchost.exe程序來運行自身的。使用命令行來啟動這個服務:

(3)Process Explorer分析
-
查找是哪一個進程調用了Lab03-02.dll:

-
雙擊關注這個進程:

-
發現svchost.exe進程調用了Lab03-02.dll,可以看到這個進程具有惡意代碼的特征字符串。
在ProcessMonitor中按進程PID號過濾:
-
可以看到有多項更改:

(4)使用Wireshark分析
-
Wireshark抓包一開始沒有反應,過了一會兒才開始有包出現:

-
可以看到第一個是一個DNS解析,網址仍是practicalmalwareanalysis.com,ping一下找到ip進行過濾:


4. 實踐三:lab03-03.exe
(1)簡單靜態分析
-
沒有加殼,編譯器是VC6.0:

-
在PEview中我們發現數據段有一串exe文件名,是svchost.exe

(2)注冊表快照
-
是干擾項,注冊表並沒有被修改:


(3)使用Process Explorer查看
-
剛一運行Lab03-03.exe時:

-
Lab03-03.exe瞬間變綠變紅:

-
說明Lab03-03.exe執行后自行結束,遺留下孤兒進程:

-
比較svchost.exe的磁盤鏡像字符串列表和內存鏡像字符串列表:

-
兩者很明顯是更改過的。觀察內存中的字符串列表,還可以看到一些信息:

-
可以通過這個進程的PID過濾ProcessMonitor的選項

(4)使用Process Monitor
-
可以看到進行了寫文件操作:

-
而點開寫文件的操作,會發現會有連續的幾次都寫入長度為1的數據。

-
這些寫文件的操作都是在一個名為practicalmalwareanalysis.log的文件中,這個文件是程序新創建的,寫進了Lab03-03.exe所在文件夾下:

-
查看這個文件:

-
顯示的信息時我之前在ProcessMonitor中輸入過濾信息時的字符,還有一個誤輸入的“a”也被記錄了下來。判斷這個惡意代碼用於鍵盤活動記錄。
