病毒丨3601lpk劫持病毒分析

作者:黑蛋

一、病毒簡介
文件名稱:
1f3e836b4677a6df2c2d34d3c6413df2c5e448b5bc1d5702f2a96a7f6ca0d7fb
文件類型(Magic):
PE32 executable (GUI) Intel 80386, for MS Windows
文件大?。?br>52.50KB
SHA256:
1f3e836b4677a6df2c2d34d3c6413df2c5e448b5bc1d5702f2a96a7f6ca0d7fb
SHA1:
8389fb0466449755c9c33716ef6f9c3e0f4e19c8
MD5:
304bbe0e401d84edf63b68588335ceb6
CRC32:
757BDFA1
SSDEEP:
768:QfvoyXXQkZuzQE98Fs+UwMVdPG42EmAjE/yQd07d21a1Xxu0HfqaWF6i5XcojY9U:QfvoyXgkAP2EFjtQd07k1sXPHijmU
ImpHash:
bdd8c968182d3c29007cb3a7a7e8fe4c
二、環(huán)境準備
系統(tǒng)
win7x86
三、行為分析
接下來借助火絨劍查看一下行為。

這里同樣是生成了一個子病毒,我們簡單進行一下過濾,文件創(chuàng)建寫入,注冊表創(chuàng)建,網絡行為等:

可以看到,在c:\Windows下生成一個子病毒,當然也注意這里生成了一個hra33.dll:

然后通過cmd刪除自身:

這就是母體干的事,接下來看看子病毒干的啥事:

首先這里是干了一些資源釋放,在多個文件路徑下創(chuàng)建lpk.dll,向下繼續(xù)看的話,可以看到在很多路徑下都有這個dll,他應該是遍歷,在所有文件夾下面創(chuàng)建這個dll:

隨后就是網絡鏈接操作了:


可以看到一直在進行發(fā)包收包操作,結合沙箱的分析結果:

可以看到一共訪問了三個域名:sbcq.f3322.org;www.520123.xyz;www.520520520.org
總結一下就是釋放dll,網絡鏈接;
四、靜態(tài)分析
拖入PEID,啥也沒,應該是被脫過了:

拖入IDA中,直接在winmain函數處F5:

4.1、sub_405A52

可以看到這里是一個簡單的判斷服務是否啟動,啟動的話進入else,服務名Ghijkl Nopqrstu Wxy;
4.2、sub_40561A
接下來看回調函數sub_40561A:

這里主要是創(chuàng)建了4個線程,首先看sub_405394;
4.2.1、sub_405394
進去之后再走到EnumFunc函數中:

這里是定位資源,然后再當前目錄下創(chuàng)建文件,寫入資源內容;
4.2.2、sub_4053A6

主要在這里,看病毒文件是否存在,存在就拿到句柄,把服務加入資源文件中。
4.2.3、sub_4034E5

這是一個簡單的加載hra33.dll的函數;
4.2.4、sub_402DD5

首先可以看到這里,一些用戶名和密碼,這里應該是用來暴力測試;

這里不斷地是獲取主機名,再獲取hostent結構,然后枚舉用戶名密碼進入sub_402AD0,

這里就是建立連接,通過局域網傳播病毒。
4.2.5、sub_4051E0、sub_405241、sub_40387C
這三個回調函數一樣,在不同服務器上下載東西,執(zhí)行,我們只看第一個,一直跟進回調函數到StartAddress:
可以看到這里都是一些在服務器中下載東西,然后跑起來,最后刪除自己,其他倆個函數和這個函數一樣,無非就是服務器地址不同,最后一個函數里面服務器域名是加密的,直接在OD運行到這里查看就行,是www.520520520.org:9426?;
4.3、sub_405B6E

這里是在c:\Windows\system32下創(chuàng)建隨機病毒文件;接下來是一些服務操作,結尾是sub_40355B函數,我們直接跟進去:

可以看到是一個刪除自身的一個操作。
五、hra33.dll分析
看完病毒體,我們再看一下關鍵dll–>hra33.dll,直接在c:\windows\system32下找到hra33.dll,拖入IDA中分析,直接在主函數處F5:

5.1、sub_10001134

簡單的查找病毒資源是否存在;
5.2、sub_10001338

判斷當前模塊名字是否為hrlxx.tmp;
5.3、sub_10001193

這里就是找到資源,定位資源位置,在臨時文件目錄中創(chuàng)建hrl,然后把資源內容拷貝進去。
5.4、sub_100012F6

加載lpk.dll
5.5、sub_100019E6

這里是判斷磁盤類型,然后創(chuàng)建一個線程,我們跟進去回調函數:

可以看到是判斷文件是否是exe,是的話創(chuàng)建lok.dll;如果是rar或者zip等壓縮文件,則進去sub_1000142B:

解壓文件,然后替換lpk.dll,隨后重新打包,刪除臨時文件;
5.6、sub_100010CE

這里是保存了lpk的導出函數地址。
六、病毒總體思路總結
首先開始運行,判斷是否有病毒的注冊表:
是:注冊函數設置服務請求–設置啟動服務–找到dll,釋放–把病毒和服務加到hra33.dll,然后加載此dll–
線程1(家里IPC鏈接,局域網內傳播,定時啟動)—后面三個線程鏈接服務器下載東西,根據指令進行不同操作;
否:啟動病毒服務–設置鍵值–刪除原病毒