1.樣本概況
1.1 樣本信息
病毒名稱: lpk劫持
所屬家族:蠕蟲病毒(Worm)
大小: 53760 bytes
文件版本:7.02.2600.5512 (xpsp.080413-0852)
修改時間: 2015年9月29日, 13:10:48
MD5: 304BBE0E401D84EDF63B68588335CEB6
SHA1: 8389FB0466449755C9C33716EF6F9C3E0F4E19C8
CRC32: 757BDFA1
病毒行為:
復制自身、釋放lpk.dll文件到目錄、上傳宿主主機的信息,從服務器下載命令並執行、網絡傳播。
1.2 測試環境及工具
測試環境:VMware WorkStation 16 PRO
工具:PCHunter、火絨劍、IDA、OD、ExeinfoPE
1.3 分析目標
分析病毒永久駐留方式,感染的方式,網絡連接,病毒的惡意行為。
2.具體行為分析
2.1 主要行為
Lpk劫持主要行為如下:
-
文件操作:復制病毒、釋放文件等。
-
注冊表操作:自啟動、創建注冊表項、刪除殺軟注冊表項、隱藏文件等。
-
進程操作:遍歷進程、跨進程讀寫、跨進程恢復線程、打開設備等。
-
網絡操作:連接局域網傳播、訪問門戶網址、與木馬網址通訊等
2.1.1 文件操作
-
復制文件到C:\Windows\wmewsc.exe ,然后刪除了病毒本體
-
釋放了hra33.dll文件
-
在各個目錄創建了lpk.dll文件,里面保存的是用於劫持系統lpk.dll的文件。
2.1.2 注冊表操作
1.添加了一個服務到注冊表中
2.設置IE的一些注冊表設置
2.1.3 進程操作
-
創建了病毒進程,然后運行執行了cmd操作和使用rar.exe執行了一些操作。
2.1.4 網咯操作
-
連接了局域網的一些地址,主要通過139、445端口連接。
-
訪問了一些門戶網站:www.tom.com、www.163.com等
3.與一些網址進行數據交換,數據經過了加密傳輸。
2.1.5 威脅行為總結
通過分析監控的日志以及人肉之后,可以分析出樣本的惡意行為:
-
自我復制樣本到C盤,C:\Windows\system32\driver\目錄下,啟動C:\Windows\system32\drivers\spo0lsv.exe(樣本)。
-
在每一個目錄下創建了Desktop.ini文件,里面存放的是當前日期。
-
在C盤根目錄下創建了autorun.inf文件,里面制定了自啟動的文件為根目錄下的setup.exe(樣本)。
-
對程序目錄下的exe進行了感染,圖標變為exe,打開exe時,自動打開病毒。
-
設置注冊表啟動項為C:\Windows\system32\drivers\spo0lsv.exe(樣本)
-
設置注冊表鍵值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue,隱藏文件不顯示。
-
將注冊表中殺毒軟件啟動項全部刪除。
-
自己創建了一個注冊表的項HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\spo0lsv_RASAPI32,在其中寫入了很多信息。
-
修改注冊表項IE瀏覽器的代理和連接設置。
-
連接局域網的一些地址,訪問外網的一些地址。
-
使用cmd命令關閉網絡共享。cmd.exe /c net share C$/del /y 和 cmd.exe /c net share admin$ /del /y
2.2 惡意代碼分析
2.1惡意代碼主功能
Lpk劫持主要分為有兩個文件3601.exe和hra33.dll。
在3601.exe中:
-
判斷Ghijkl Nopqrstu Wxy服務是否被創建。
-
若服務未被創建:
a) 拷貝自身3601.exe到系統C:\Windows目錄下,名稱隨機
b) 創建服務Ghijkl Nopqrust Wxy
c) 啟動服務Chijkl Nopqrstu Wxy
d) 刪除自身3601.exe
-
若服務已創建
a) 遍歷資源,釋放hra32.dll
b) 將自身3601.exe作為資源調價到hra33.dll
c) 通過IPC傳播病毒
d) 連接遠程服務器,執行遠程代碼
在hra32.dll 中:
-
在臨時文件目錄下釋放病毒文件hrl.tmp, 並啟動
-
將lpk.dll放到exe所在的目錄
-
判斷是否有rar軟件,若有則替換壓縮文件中的lpk.dll
2.2 惡意程序的代碼分析片段
2.1.1 3601.exe詳細分析
1. 3601.exe**主要功能**
-
判斷Ghijkl Nopqrstu Wxy服務是否被創建。
-
若服務未被創建:
a) 拷貝自身3601.exe到系統C:\Windows目錄下,名稱隨機
b) 創建服務Ghijkl Nopqrust Wxy
c) 啟動服務Chijkl Nopqrstu Wxy
d) 刪除自身3601.exe
-
若服務已創建
a) 遍歷資源,釋放hra32.dll
b) 將自身3601.exe作為資源調價到hra33.dll
c) 通過IPC傳播病毒
d) 連接遠程服務器,執行遠程代碼
2. WinMain函數
在WinMain函數中,判斷Ghijkl Nopqrstu Wxy 服務是否創建,若未創建,則執行創建服務代碼,若已創建,則設置服務的回調函數。
3. 判斷服務是否被創建
sub_405A52函數的功能是通過查詢注冊表中的服務來判斷Ghijkl Nopqrstu Wxy 是否被創建,若該服務存在,則返回1,否則返回0.。
4.服務未創建
在服務未被創建時,會先在C:\Windows目錄下隨機生成一個exe文件(xxxxxx.exe,六個字符),然后將3601.exe復制到那個文件中。
創建服務Ghijik Nopqrstu Wxy,設置自啟動,啟動C:\Windows目錄下的病毒文件。
啟動服務,將服務信息填入注冊表。
刪除3601.exe文件,通過cmd命令“\c del C:\Users\15PB\Desktop\3601.exe > null”。
5. 服務已創建
若服務已創建,則設置服務的回調函數為sub_40561A,在該服務回調函數中,首先釋放hra33.dll。
將C:\Windows下的xxxxxx.exe作為資源寫入到hra33.dll中。
初始化賬號密碼字典,嘗試使用字典爆破登錄內網,然后將病毒文件發送到目標機器上。
之后,創建了三個線程,分別連接了sbcq.f3322.org、
連接遠程服務,然后發送主機信息,再下載文件並執行文件。
2.1.2 hra33.dll詳細分析
1. hra33.dll主要功能
在hra32.dll 中:
-
在臨時文件目錄下釋放病毒文件hrl.tmp, 並啟動
-
將lpk.dll放到exe所在的目錄
-
判斷是否有rar軟件,若有則替換壓縮文件中的lpk.dll
2. 釋放hrl.tmp
在hra33.dll的資源中查找到病毒的exe,然后釋放到臨時目錄下的hrl.tmp中,再啟動病毒。
3. lpk.dll劫持
通過遍歷磁盤,然后將hra33.dll復制到exe所在目錄下,並改名為lpk.dll來達到lpk劫持的目的。
判斷是否安裝了rar軟件,若已安裝,則使用rar解壓壓縮包,然后替換壓縮包中的lpk.dll為病毒自身的lpk.dll(即hra33.dll 改名為lpk.dll),再將文件進行壓縮。
3.解決方案
3.1 提取病毒的特征,利用殺毒軟件查殺
字符串:
sbcq.f3322.org
Ghijkl Nopqrstu Wxy
3.2 手工查殺步驟
-
刪除注冊表HKEY_LOCAL_MACHINE\system\CurrentControlset\services\GhijklNopqrstu Wxy。
-
刪除C:\windows\system32\hra33.dll文件。
-
遍歷磁盤和壓縮包,刪除lpk.dll文件。