樣本信息
病毒名稱:3601劫持病毒
所屬家族:Trojan-DDoS.Win32.macri.atk
病毒行為:連接惡意網址下載代碼遠程執行、對lpk.dll進行劫持
分析目標:分析病毒具體的行為,搞清楚病毒的實現原理,給出合理的方式查殺病毒。
大小: 24576 byte
修改時間: 2007年1月22日, 16:48:04
MD5: b5752252b34a8af470db1830cc48504d
SHA1: aec38add0aac1bc59bfaaf1e43dbdab10e13db18
CRC32: 4EDB317F
殼類型:UPX殼
編寫語言:VC6
病毒行為:連接惡意網址下載代碼遠程執行、對lpk.dll進行劫持
病毒的主要惡意行為
先利用云沙箱獲取基本運行情況,如下圖所示。

行為分析
使用火絨劍對病毒的行為進行分析,可以歸為以下四類:對文件的操作、對注冊表的操作、對進程的操作、對網絡的操作。
對文件的操作
① 創建fadbwg.exe文件(之后經過分析此文件名是隨機的六個字母),并寫入數據:

② 刪除原始的病毒文件:

③ 創建hra33.dll文件和臨時文件,并寫入數據:

④ 在多個文件夾中創建lpk.dll并寫入數據:

對注冊表的操作
在注冊表中創建Ghijkl Nopqrstu Wxy項,并對注冊表有刪除操作:

對進程的操作
創建了進程,經過排查發現創建的都是cmd、find、rar的進程:

對網絡的操作
病毒對注冊表進行了操作,并且有網絡連接。

發送網絡數據包,經過查看數據包流量猜測是發送了計算機的相關信息:

惡意代碼分析
經查殼工具PEID檢查,發現該病毒加了UPX殼。根據ESP定律進行脫殼處理。


主程序首先通過查看注冊表鍵值來確定服務是否創建,若服務未創建則創建并啟動服務;若服務已經創建,則對自己進行復制,并且修改相關服務,最后刪除自己。并且病毒釋放了一個hra33.dll文件。

病毒為了防止重復操作,會先檢測服務是否創建。

繼續跟進,發現病毒在ADVAPI32.dll中加載函數,并遍歷文件。


病毒利用時間隨機數來生成文件名并進行拼接,最后復制到C:windows目錄下。

繼續分析,病毒創建了服務,并且修改了相關的配置,啟動服務。


緊接著病毒添加了注冊表鍵。

可以運行病毒,去查看注冊表進行對比。


病毒通過字符串拼接來執行CMD命令刪除自己。

此時,病毒創建了新的線程,自己已經刪除,繼續分析新的線程。新的程序進行了服務初始化操作。

在跟到4053a6函數中,會對注冊表進行檢查,并且打開了hra33.dll,復制了相關資源到hra33.dll。

對資源進行了更新操作。

通過OD可以看到具體的資源。

繼續分析,發現hra33.dll被釋放,這個dll具有劫持功能,將exe相同目錄復制lpk.dll。


繼續分析創建線程的函數。


其中第一個線程會初始化一些字符串,用于獲取主機名和網絡連接相關的函數,有可能是利用弱口令進行局域網傳播病毒。



經過以上分析,可以判定第一個線程是通過弱口令感染局域網其他主機,當用戶名和密碼通過后,可以使用共享目錄將病毒傳播。

繼續分析創建的第二個線程。


跟到回調函數中,發現有創建了一個子線程。

繼續分析回調函數。

發現這個函數進行了網絡連接。若連接成功,就繼續運行,失敗了就返回。

繼續分析,發現該線程獲取了一些系統信息,用來判斷系統型號。

? 同時獲取了CPU信息。

?繼續獲取了適配器信息。

獲取了內存信息。

發現函數4060f0加載了一些dll,并且嘗試發送了數據。

?使用接收到的數據進行判斷,并作出相應的處理。

信息為0x10時,從網絡上下載惡意代碼保存到臨時文件,并執行。

信息為0x12,根據時間隨機生成數拼接文件名,并初始化信息。

通過網頁下載新的病毒,下載成功刪掉原來的所有信息。

自身會被刪除。

當信息為0x14時,會打開IE瀏覽器。

當信息為0x6時,則執行的操作與0x12一樣。

當信息為其他情況時,基本上都是進行了初始化Socket操作。

接下來對線程三進行分析,跟進子線程回調函數。

繼續分析回調函數。

繼續跟進子線程回調函數。

發現函數與線程基本一樣,但是連接的的域名改變了。

用IDA Pro加載hra33.dll,對它進行分析。

發現10019e6添加lpk函數時,會遍歷文件,如果遇到exe文件就在相同目錄下拷貝lpk.dll,如果有.rar或者.zip文件,就用100142b進行感染。

? 等線程執行完畢后退出線程,使用10001123釋放dll。
查殺方案
病毒特征:關鍵字符串
Ghigkl
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
1NTUHRYRExYRExYREx3c0eQJChcRFUM=
寫yara 規則:

然后可以使用ClamAv進行查殺。
手工查殺
①結束相關進程樹;
②刪除注冊表HKEY_LOCAL_MACHINEsystemCurrentControlsetservicesGhijkl Nopqrstu Wxy下注冊表鍵;
③刪除病毒exe和hra32.dll;
④遍歷磁盤和壓縮包,刪除lpk.dll。