當前位置:
首頁 > 最新 > 深入解析新型加密貨幣挖礦惡意軟體ZombieBoy

深入解析新型加密貨幣挖礦惡意軟體ZombieBoy

延續了2018年加密貨幣挖礦惡意軟體的趨勢,我發現了另一種類似於5月初發現的「MassMine」的挖礦惡意軟體。我把這個家族稱為ZombieBoy,因為它使用了一個名為ZombieBoyTools的工具來釋放第一個dll。

與MassMiner類似,ZombieBoy也是一種利用漏洞進行傳播的挖礦蠕蟲。但也有與MassMiner不同的地方,ZombieBoy使用WinEggDrop而不是MassScan來搜索新主機。ZombieBoy目前仍在不斷更新,我幾乎每天能獲取到新的樣本。

ZombieBoy的執行流程概述如下:


ZombieBoy使用了多個運行HFS (http文件伺服器)的伺服器來獲取有效載荷(payload)。經我確認的URL有如下幾個:

l ca[dot]posthash[dot]org:443/

l sm[dot]posthash[dot]org:443/

l sm[dot]hashnice[dot]org:443/

此外,它似乎在dns[dot]posthash[dot]org中也有一個C2伺服器。


ZombieBoy在執行期間利用了多個漏洞:

l CVE-2017-9073,Windows XP和Windows Server 2003上的RDP漏洞

l CVE-2017-0143,SMB漏洞

l CVE-2017-0146,SMB漏洞


ZombieBoy首先使用EternalBlue/DoublePulsar漏洞來遠程安裝主dll。用於安裝這兩個漏洞的程序被稱為ZombieBoyTools,似乎源自中國。它使用簡體中文作為自己的語言,並且已經被用來部署了多個中國惡意軟體家族(例如,IRONTIGER APT版本的Gh0stRAT)。

ZombieBoyTools的截圖

在成功執行DoublePulsar漏洞利用後,它會載入並執行惡意軟體的第一個dll。這個dll的執行會導致從ca[dot]posthash[dot]org:443下載一個名為123.exe的文件,並將其保存到「C:\%WindowsDirectory%sys.exe」,然後執行它。

123.exe在執行時會進行多項操作。首先,它會從文件分發伺服器下載第一個模塊。根據對123.exe的代碼分析,它將此模塊引用為「64.exe」,但將其作為「boy.exe」保存到受害者設備上。在保存模塊之後,它會對其進行執行。64.exe似乎負責分發ZombieBoy以及包含在其中的XMRIG礦工。

除了從其伺服器下載模塊外,123.exe還會釋放並執行另外兩個模塊。其中一個模塊在代碼中引用為「74.exe」。它在受害者設備上保存為「C:Program Files(x86)svchost.exe」,這似乎是古老的Gh0stRAT的一種形式。

另一個模塊在代碼中引用為「84.exe」。它在受害者設備上保存為「C:Program Files(x86)StormIImssta.exe」,似乎是一個未知來源的RAT。


64.exe是ZombieBoy下載的第一個模塊。64.exe使用了一些非常強大的反分析技術。首先,整個可執行文件使用了打包器Themida進行加密,這使得逆向工程變得非常困難。此外,在ZombieBoy的當前版本中,它會檢測虛擬機,並在檢測到虛擬機之後不再運行。

64.exe會將70多個文件釋放到C:WindowsIIS中,這些文件由XMRIG礦工、漏洞利用程序以及被它命名為CPUInfo.exe的自身副本組成。

64.exe通過連接到ip[dot]3222[dot]net來獲取受害者的ip。然後使用WinEggDrop,一個輕量級TCP掃描程序來掃描網路,以尋找打開了埠445的更多的目標。它還會使用上面獲得的IP以及本地IP來傳播到本地網路以及公共IP網路中。

64.exe會使用DoublePulsar漏洞來安裝SMB後門以及RDP後門。

DoublePulsar截圖

另外,64.exe會使用XMRIG來挖掘門羅幣(XMR)。在關閉minexmr.com上的一個地址之前,ZombieBoy以大約43KH/s的速度挖礦。根據當前的門羅幣價格,這允許攻擊者能夠每月獲得略高於1000美元的收入。

我已找到了另一個新地址,然而,ZombieBoy已經不再使用minexmr.com進行挖礦。

已知的地址:

l 42MiUXx8i49AskDATdAfkUGuBqjCL7oU1g7TsU3XCJg9Maac1mEEdQ2X9vAKqu1pvkFQUuZn2HEzaa5UaUkMMfJHU5N8UCw

l 49vZGV8x3bed3TiAZmNG9zHFXytGz45tJZ3g84rpYtw78J2UQQaCiH6SkozGKHyTV2Lkd7GtsMjurZkk8B9wKJ2uCAKdMLQ

通過使用strace,我發現64.exe正在獲取有關受害者的信息,例如枚舉操作系統的體系結構。


74.exe是第一個被123.exe釋放的模塊,也是整個惡意軟體的第二個模塊。74.exe的基本功能是負責下載、解密和執行一個名為NetSyst96.dll的Gh0stRat dll。另外,74.exe還解密了一系列要傳遞給Netsyst96.dll的參數。

參數中的arguments對象如下:

2. 127.0.0.1

4. YP_70608

5. ANqiki cmsuucs

6. Aamqcygqqeqkia

7. Fngzxzygdgkywoyvkxlpv ldv

8. %ProgramFiles%/

9. Svchost.exe

10. Add

11. Eeie saswuk wso

解密過程截圖

一旦74.exe解密了參數,它就會檢查NetSyst96.dll是否已下載並保存到了C:Program FilesAppPatchmysqld.dll。它通過調用CreateFileA並將CreationDisposition設置為Open_Existing來完成此操作。如果找不到mysqld.dll,74.exe將打開與ca[dot]posthash[dot]org:443/的連接,並下載NetSyst96.dll,將其保存為C:ProgramFilesAppPatchmysqld.dll。

NetSyst96.dll有兩個導出函數:DllFuUpgraddrs和DllFuUpgraddrs1。在將NetSyst96.dll保存為mysqld.dll後,74.exe會在NetSyst96.dll中找到DllFuUpgraddrs,在調用它之前。


NetSyst96.dll通常是被加密的,對解密後的文件的分析返回了一些有趣的字元串,可用於識別它。例如,「Game Over Good Luck By Wind」和「jingtisanmenxiachuanxiao.vbs」。

字元串截圖展示了一些被釋放的文件

NetSyst96.dll可以捕獲用戶的屏幕截圖、錄製音頻,甚至可以編輯剪貼板。此外,對字元串的分析顯示,它導入了鍵盤按鍵,這是鍵盤記錄程序的典型特徵。首先,Netsyst96.dll會獲取環境字元串路徑並使用它創建路徑C:Program files (x86)svchost.exe。接下來,使用CreateToolhelp32Snapshot和NetSyst96.dll在運行的進程中搜索Rundll32.exe,以確定它是否是第一次運行dll。

對於第一次運行,NetSyst96.dll進行了幾項操作來創建持久性:

l 將74.exe的副本保存為C:ProgramFiles(x86)svchost.exe。

l 使用System/CurrentControlSet/Services/ANqikicmsuucs將「ANqiki cmsuucs」註冊為服務。

l 啟動服務後,運行svchost.exe。

l 將MARKTIME添加到註冊表項,添加上次啟動的時間。

l 使用來自CreateToolhelp32Snapshot的快照來搜索正在運行的svchost.exe進程。

l 如果未找到,則會啟動它並返回搜索svchost.exe。

l 如果找到一個,將維持svchost.exe的運行。

l 如果找到多個,會調用一個函數來創建一個vbs腳本,以刪除額外的svchost.exe。

在連續運行時,NetSyst96.dll更關心的是連接到C2伺服器:

1. 查找並驗證「System/CurrentControlSet/Services/ANqiki cmsuucs」是否存在。

a) 如果不存在,它會創建一個這樣的鍵值。

b) 如果存在,則會往下執行步驟2。

2. 創建名為「Eeie saswuk wso」的事件。

3. 枚舉並更改輸入桌面。

4. 將C2伺服器IP傳遞給C2 URL(dns[dot]posthash[dot]org)。

5. 啟動WSA(winsock 2.0)。

6. 連接到www[dot]ip123[dot]com[dot]cn並獲取dns[dot]posthash[dot]org的ip。

a) 實際的IP可能會發生變化,但到目前為止仍是211.23.47[dot]186。

7. 重置事件。

8. 連接到C2伺服器並等待命令。

雖然觸發此函數的命令未知,但我確實發現了一個包含31個選項的switch-case,它似乎是NetSyst96.dll的命令選項。有關這個31個選項中部分選項的深入分析,請參閱附錄。


84.exe是由123.exe釋放的第二個模塊,也是整個惡意軟體的第三個模塊。與74.exe類似,它似乎是一個RAT。然而,這也是唯一的相似之處。與74.exe不同,84.exe不需要下載任何其他庫,而是從其自己的內存中解密並執行Loader.dll。此外,84.exe會使用一個函數來解密Loader.dll,包括為每個需要解密的字元拋出異常。

其他運行信息:

· 將用戶的環境字元串設置為C:Program Files(x86)StormII。

此外,一旦調用了Loader.dll,84.exe就會通過一個名為「Update」的函數將一系列變數傳遞給Loader.dll。

變數:

1. ChDz0PYP8/oOBfMO0A/0B6Y=

2. 0

3. 6gkIBfkS+qY=

4. dazsks fsdgsdf

5. daac gssosjwayw

6. |_+f+

8. EQr8/KY=

9. C:Program Files(x86)StormII

10. Mssta.exe

11. 0

12. Ccfcdaa

13. Various integers

在傳遞給Loader.dll的字元串中,有三個是加密的。解密後的字元串如下:

1. [ChDz0PYP8/oOBfMO0A/0B6Y=] =」dns[dot]posthash[dot]org」

2. [6gkIBfkS+qY=] =」Default」

3. [EQr8/KY=] = 「mdzz」


Loader.dll是一個具有一些有趣功能的RAT,例如搜索CPU寫入速度的能力,以及搜索系統中的防病毒軟體。

它由84.exe啟動,Loader.dll執行的第一件事是從84.exe中的「Update」獲取變數。此時,Loader.dll創建了幾個重要的運行時對象(runtime object):

l 名為Null的不可靠、無信號、自動重置事件,句柄:0×84。

l 用於執行操作DesktopInfo的函數的線程。

l 一個具有句柄0x8C和標記DF_ALLOWOTHERACCOUNTS的inputDesktop,它被設置為調用線程的Desktop。

然後,Loader.Dll會在SYSTEM/CurrentControlSet/Services/Dazsks Fsdgsdf中搜索系統中的「dazsksfsdgsdf」,用於確定這是否是第一次運行惡意軟體。

首次運行:

l Loader.dll會使用ImagePath = C:Program Files(x86)StormIImssta.exe來創建服務DazsksFsdgsdf。

l Loader.dll會嘗試運行新創建的服務。如果嘗試成功,則繼續主循環。如果不成功,則退出。

接下來,Loader.Dll將進行以下操作:

l 使用參數DazsksFsdgsdf啟動services.exe服務。

l 繼續第一次運行中提到的主循環。

在檢查了循環序號之後,Loader.dll將進入程序的主循環。

主循環:

l 創建一個名為「ccfcdaa」的不可靠、自動重置、無信號的事件,句柄為0x8C。

l 解密ChDz0PYP8/oOBfMO0A/0B6Y=to 『dns[dot]posthash[dot]org』。

l 啟動WinSock對象。

l 使用句柄0×90創建名為null的不可繼承、無信號、手動重置事件對象。

l 彙編 Get 請求:「Get/?ocid = iefvrt HTTP/1.1」。

l 連接到dns[dot]posthash[dot]org:5200。

l 使用GetVersionEx獲取有關操作系統的信息。

l 載入ntdll.dll並調用RtlGetVersionNumbers。

l 將SystemCurrentControlSetServices(null)保存到註冊表。

l 獲取套接字名稱。

l 使用HardwareDescriptionSystemCentralProcessor取CPU刷新速度

l 調用GetVersion以獲取系統信息。

l 調用GlobalMemoryStatusEx以獲取可用全局內存的狀態。

l 使用GetDriveTypeA枚舉從「A:/」開始的所有可用磁碟驅動器。

l 獲取每個枚舉驅動器上可用的總可用空間量。

l 初始化COM庫。

l 使用marktime函數將當前時間追加到服務「dazsksfsdgsdf」。

l 獲取在WOW64下運行的系統的系統信息。

l 使用大多數中文防病毒軟體文件名和CreateToolHelp32Snapshot列表,創建正在運行的進程的快照,然後識別任何正在運行的防病毒程序。

l 解密EQr8/KY= to「mdzz」。

l 將上面獲得的所有數據發送到在dns[dot]posthash[dot]org:5200中的C2伺服器。


想要減輕ZombieBoy攻擊所帶來的影響的最佳方法是一如既往地避免被攻擊,這就是為什麼我建議你將系統更新到最新版本的原因。具體來說,MS17-010補丁將有助於阻斷惡意軟體的傳播。

如果你被不幸被ZombieBoy感染了,那麼你應該做的第一件事就是深呼吸幾次。接下來,我建議使用你使用防病毒軟體掃描你的系統。

在掃描完成之後,你應該找出並終止ZombieBoy當前正在運行的任何已知的進程,例如:

l 123.exe

l 64.exe

l 74.exe

l 84.exe

l CPUinfo.exe

l N.exe

l S.exe

l Svchost.exe (注意文件的位置。任何不來自C:WindowsSystem32的Svchost.exe進程都應被終止)。

此外,刪除以下註冊表項:

l SYSTEM/CurrentControlSet/Services/Dazsks Fsdgsdf

l SYSTEM/CURRENTCONTROLSET/SERVICES/ANqiki cmsuuc

同樣的,刪除所有被惡意軟體釋放的文件,例如:

l C:\%WindowsDirectory%sys.exe

l C:windows\%system%oy.exe

l C:windowsIIScpuinfo.exe

l 在IIS中釋放的70多個文件

l C:Program Files(x86)svchost.exe

l C:Program FilesAppPatchmysqld.dll

l C:Program Files(x86)StormIImssta.exe

l C:Program Files(x86)StormII*


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 聚鋒實驗室 的精彩文章:

頭條:索尼IPELA E網路攝像機存可遠程利用漏洞
頭條:西甲Android手機應用啟用「間諜」功能

TAG:聚鋒實驗室 |