熊貓燒香病毒在當年可是火的一塌糊塗,感染非常迅速,算是病毒史上比較經典的案例。不過已經比較老了,基本上沒啥危害,其中的技術也都過時了。作為練手項目,開始對熊貓燒香病毒進行分析。首先准備好病毒樣本(看雪論壇有),VM虛擬機和Xp Sp3系統。樣本參數如下:
- 病毒名稱:panda.exe
- 文件大小:61952 bytes
- MD5值:3520D3565273E41C9EEB04675D05DCA8
- SHA1值:BB1D8FA7EE4E59844C1FEB7B27A73F9B47D36A0A
- CRC32:23B6DA2A
今天說的主要是行為分析,所以還需要兩個軟件 ,一個是Process Monitor v3.10,一個是PCHunter。Process Monitor v3.10是微軟提供的,可以監視一個進程對文件,注冊表,網絡和線程進程操作的工具。

PCHunter則是一個強大的ARK工具,專門對付Rootkit,我主要是想用來掛進病毒進程,發現一些隱藏的文件,和一些啟動項。

首先我們在XP Sp3虛擬機中打開Process Monitor ,然后運行panda.exe病毒,這時候就開始監聽熊貓燒香的一舉一動。

大約運行兩分鍾后,我們使用PCHunter將病毒進程掛起,停止他的工作。此時你會發現進程名稱不是panda.exe,而是spcolsv.exe,右鍵將他掛起再說。

掛起之后,將Process Monitor中的監聽數據進行保存,然后我們就可以進行離線分析了。Process Monitor的強大之處在於過濾器,因為Process Monitor監聽的是所有的進程,數據量太大。下面我們從進程線程,文件,注冊表和網絡四個方面來分析一下病毒的行為。
1.進程線程
由於我們發現進程名改變了,所以先看一下Process Monitor中的進程樹,了解一下進程和線程的變化。

在上圖的紅框中,我們發現panda.exe啟動了spcolsv.exe進程,然后spcolsv.exe有啟動了三個cmd,執行的命令為:cmd.exe /c net share C$ /del /y ,cmd.exe /c net share A$ /del /y,cmd.exe /c net share admin$ /del /y ,這些cmd的命令主要是用來刪除默認共享。下面我們看一下線程的情況,spcolsv.exe啟動了很多的線程,來執行一些操作。

2.文件
首先看一下spcolsv.exe進程從哪來的,過濾一下panda.exe的文件操作。

可以看到panda.exe從自身分離出spcolsv.exe,然后將文件寫到C:\WINDOWS\system\driver 文件夾下。然后panda.exe將spcolsv.exe啟動起來。

spcolsv.exe啟動起來開始進行真正的感染工作,在每個盤的根目錄下復制出自身,命名為setup.exe,並生成autorun.inf文件。autorun.inf的作用是當用戶打開盤符的時候,會自動運行setup.exe,實現持久性運行。同時在整個盤的每個文件夾下創建Desktop_.ini文件。

運行一會后開始感染exe文件,從下圖可以看到對我電腦中的Ollydbg.exe進行了寫入操作。

感染的結果變成了下圖的樣子。

3.注冊表
病毒對注冊表的操作主要干了兩件事情,第一件事是加入自啟動,在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run鍵項中添加svcshare。同時通過設置
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL 中的CheckedValue的鍵值設置為0,進行文件隱藏,防止用戶查看釋放的病毒。這個過程是隔一段時間就會進行一次。

第二件事是刪除殺軟的自啟動項,其中包括卡巴斯基,邁克菲McAfee等殺軟。

4.網絡
從目前的分析來看,病毒將不斷掃描局域網默認共享。用來在局域網 中傳播。

5.編寫簡單的專殺工具
無論是手動殺毒還是自動殺毒,通過病毒的行為,我們主要從以下方面來殺死病毒:
- 結束 spcolsv.exe和setup.exe進程
- 刪除spcolsv.exe,setup.exe,autorun.inf和Desktop_.ini文件
- 刪除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run鍵項中的svcshare,將HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL中的CheckedValue設置為1
最后使用MFC編寫了一個熊貓專殺工具(Desktop_.ini暫時沒刪除),部分代碼參考 姜曄的技術專欄。

6.總結
通過行為監控的方式完成了對熊貓燒香病毒的查殺,不過還不夠徹底。那些被感染的exe文件,我們還沒有恢復,如果想要進一步的研究,下一節我們對病毒進行逆向,看它是如何感染的。
7.再續
我新書《Python爬蟲開發與項目實戰》出版了。 這本書包括基礎篇,中級篇和深入篇三個部分,不僅適合零基礎的朋友入門,也適合有一定基礎的爬蟲愛好者進階,如果你不會分布式爬蟲,不會千萬級數據的去重,不會怎么突破反爬蟲,不會分析js的加密,這本書會給你驚喜。如果大家對這本書感興趣的話,可以看一下 試讀樣章。
