天天看點

自己動手搭建惡意軟體樣本行為分析環境

       網際網路的飛速發展在給使用者的日常工作生活帶來了巨大友善的同時,也給各種各樣的惡意軟體提供了一片繁衍擴散的沃土。媒體上時有關于某種惡意軟體大規模流行造成嚴重損失的報道。惡意軟體的擴散早已引起資訊安全業界的重視,各安全軟體和防毒軟體廠商都有成型的解決方案。不過惡意軟體的更新換代總是走在安全廠商的産品前面,惡意軟體變種的出現速度越來越快,單純使用防防毒軟體已不能完全保證使用者遠離惡意軟體。

本文提出一個分析Windows平台的惡意軟體和可疑檔案的參考方法,該方法通過監視目标樣本的執行後的行為觀察,可對目标樣本的性質、行為及影響進行判斷。

惡意軟體的定義:惡意軟體(Malware,malicioussoftware的縮寫),指未經使用者允許安裝執行,會對使用者及系統運作産生影響和危害的軟體,包括病毒(Virus)、蠕蟲(Worm)、木馬(Trojan)、後門程式(Backdoor/Rootkit)、密碼盜竊程式(Mal.PSW)及其他有以上所列惡意軟體功能的軟體。

分析原理和流程

關鍵詞定義:

1)惡意軟體樣本:從各種媒介提取到的懷疑是惡意軟體的可執行檔案、可能包含惡意軟體的壓縮檔案、Office文檔等

2)軟體行為:文檔或可執行檔案被使用者直接或通過其他處理軟體打開時該檔案或系統執行的操作

樣本分析原理:

在一個可控的Windows測試環境中,通過使用特定的監視工具軟體,對目标樣本檔案打開後執行的操作進行記錄,分析記錄的結果并與已知的惡意軟體行為進行對比,判斷目标樣本的性質和影響,最後提供受該目标樣本影響的系統的清理方案。

樣本分析流程:

1)測試環境搭建

2)分析工具軟體的準備和安裝

3)目标樣本在測試環境系統上的運作監視、資料采集

4)結果處理和文檔記錄

環境準備和搭建

1、系統環境:

本文使用的測試環境為VMwareworkstation上的WindowsXPprofessionalSP2英文版,并更新更新檔到2006年11月底的最新版本。

2、分析軟體:

1)系統監視軟體

a)InstallRite:

b)ProcessExplorer:

c)ProcessMonitor:

d)TCPView:

2)嗅探器

a)Ethereal:

Ethereal是一個功能強大的開源網絡協定分析軟體,它可用于存儲和分析目标樣本進行的網絡傳輸的具體内容。Ethereal可以從它的官方網站下載下傳:

<a href="http://www.ethereal.com/download.html">[url]http://www.ethereal.com/download.html[/url]</a>

b)EffeTechHTTPSniffer:

EffeTechHTTPSniffer是一個專長于HTTP流量流量監視和分析的嗅探工具,可以用于分析Downloader一類使用HTTP協定和采用HTTP隧道封裝進行通訊封裝的目标樣本。EffeTechHTTPSniffer可以從它的官方網站上下載下傳:

<a href="http://www.effetech.com/download/">[url]http://www.effetech.com/download/[/url]</a>

3)系統分析工具

a)RootkitRevealer:

RootkitRevealer是一個功能強大的Rootkit檢測工具,可用于檢測Rootkit類及帶有Rootkit隐藏功能的目标樣本。RootkitRevealer可以從它的官方網站下載下傳:

<a href="http://www.microsoft.com/technet/sysinternals/utilities/RootkitRevealer.mspx">[url]http://www.microsoft.com/technet/sysinternals/utilities/RootkitRevealer.mspx[/url]</a>

b)Gmer:

Gmer是一個來自波蘭的Rootkit檢測工具,它的功能比RootkitRevealer稍多一點,檢測的速度更快,可用于檢測Rootkit類及帶有Rootkit隐藏功能的目标樣本。Gmer可以從它的官方網站上下載下傳:

<a href="http://www.gmer.net/files.php">[url]http://www.gmer.net/files.php[/url]</a>

c)Autoruns:

Autoruns是一個功能強大的啟動項管理工具,它可以直接操作系統資料庫,管理常見的啟動方式,可用于分析目标樣本的自啟動方式。Autoruns可以從它的官方網站上下載下傳:

<a href="http://www.microsoft.com/technet/sysinternals/utilities/Autoruns.mspx">[url]http://www.microsoft.com/technet/sysinternals/utilities/Autoruns.mspx[/url]</a>

d)WinHex:

WinHex是一個功能強大的通用十六進制編輯工具,它可以用于對目标樣本的内容進行檢視和字元串查找。WinHex可以從它的官方網站下載下傳:

<a href="http://www.x-ways.net/winhex/">[url]http://www.x-ways.net/winhex/[/url]</a>

e)FinalRecovery:

FinalRecovery是一個快速的反删除工具,它可以用于對目标樣本執行過程中删除的檔案進行恢複操作。FinalRecovery可以從它的官方網站下載下傳:

<a href="http://www.finalrecovery.com/download.htm">[url]http://www.finalrecovery.com/download.htm[/url]</a>

3、文檔準備:

在完成系統環境和分析軟體的安裝調試後,應該進行目标樣本的記錄文檔設計。一個使用表格的記錄文檔的例子如下:

樣本分析記錄表格(1)

<b>樣本名稱</b><b></b>

<b>樣本日期</b><b></b>

<b>大小</b><b>(Bytes)</b><b></b>

<b>樣本編号</b><b></b>

<b>樣本來源</b><b></b>

Sample1.bak

2006-1-25

72052

060125A2

Customer

VirusSample.dat

21084

060125A3

Support

VirusSample2.dat

14205

060125A4

Trojansample.bak

104272

060125A5

樣本分析結果登記表                      樣本編号:060125A5

<b>項目</b><b></b>

<b>屬性</b><b></b>

<b>較長的描述</b><b></b>

<b>備注</b><b></b>

自删除

  是

啟動方式

Run Key

\LMHK\Software\Windows\CurrentVers-ion\Run\TrojanRun  Trojan.exe

釋放檔案

%SystemRoot%\Trojan.exe

複制到%SystemRoot%

程序注入

注入到iexplore.exe

網絡連接配接

TCP

連接配接到212.24.55.188:80

Nobody.noip.cn (DNS)

其他屬性

網絡連接配接、檔案不隐藏

網絡連接配接不加密

樣本分析執行個體

樣本是一個僞裝成wmv媒體檔案的可執行檔案,如圖:

它使用了wmv檔案的圖示,由于Windows預設不顯示已知檔案的擴充名,是以目标樣本的真實名字是WR.wmv.exe。

分析流程:

1)測試環境做一個恢複用的快照(Snapshot),使用實體機的測試環境可以用Ghost來達到相同目的。

2)依次啟動InstallRite和ProcessMonitor,先給ProcessMonitor做Filter配置:

配置時用exclude方式将與目标樣本無關的程式如csrss.exe、installrite.exe等程式對系統資料庫的操作過濾,隻留下explorer.exe、services.exe、svchost.exe等目标樣本可能使用到的程式。

使用InstallRite對系統狀态做一個快照:

注:在使用InstallRite做快照的時候可以先把ProcessMonitor的監視暫停。

3)運作目标樣本

4)ProcessMonitor的監視顯示目标樣本運作時啟動了Iexplore.exe和svchost.exe:

用InstallRite對目标樣本執行前後的系統狀态進行對比,在InstallRite的界面選ReviewInstallation檢視對比的結果:

新增的檔案:

新增的系統資料庫項:

删除的檔案:

由此可知:

    目标樣本在C:\programfiles\CommonFiles\MicrosoftShared\Msinfo路徑下建立了2個檔案,paramstr.txt和svchost.exe,并添加了一個叫做Svchost的服務。完成這兩個操作之後,目标樣本把自身删除。

5)使用Gmer和ProcessExplorer檢查系統發生的改變:

<a href="http://netsecurity.51cto.com/files/uploadimg/20070724/1846147.gif" target="_blank"></a>

<a href="http://netsecurity.51cto.com/files/uploadimg/20070724/1846148.gif" target="_blank"></a>

從ProcessExplorer和Gmer的顯示結果可知,目标樣本啟動了一個隐藏的Iexplore.exe程序。

6)使用TCPView檢視網絡連接配接

<a href="http://netsecurity.51cto.com/files/uploadimg/20070724/1846149.gif" target="_blank"></a>

可以看見目标樣本啟動的Iexplore.exe程序連接配接的是

186.119.232.72.reverse.layeredtech.com的http(80)端口。

7)使用Ethereal抓包檢查網絡連接配接的資料

<a href="http://netsecurity.51cto.com/files/uploadimg/20070724/18461410.gif" target="_blank"></a>

8)分析和文檔

綜合以上工具的監視結果,我們可以總結出樣本的性質,目标樣本為一個服務安裝啟動方式的木馬程式,會使用程序注入技術(注入Iexplore.exe)穿透防火牆的網絡連接配接控制,并帶簡單的Rootkit功能(隐藏其啟動的iexplore.exe程序)

目标樣本分析結果整理後,記錄如下:

樣本分析結果記錄表                樣本編号:TR061125A2

注入到C:\program files\Internet Explorer\iexplore.exe

Iexplore.exe為隐藏程序,使用Gmer檢查。

安裝路徑

路徑:C:\program files\common files\microsoft shared\MSInfo\

svchost.exe

Paramstr.txt

系統資料庫

\\LMHK\SYSTEM\CurrentControlSet\Services\

新增svchost

服務啟動

系統增加以svchost命名的服務

186.119.232.72.reverse.layeredtech.com

72.232.119.186

[url]www.ifrstats.com[/url] (DNS)

網絡連接配接内容未知。

根據檢查結果登記表,就可以對該目标樣本感染過的計算機進行有針對性的清理,更進一步的可以編寫專殺程式,或者将檢查的結果送出應急響應機構,不過這就不是本文要讨論的内容了。

本文轉自J0ker51CTO部落格,原文連結:http://blog.51cto.com/J0ker/35243,如需轉載請自行聯系原作者

繼續閱讀