ROVNIX攻擊平臺分析 -利用WordPress平臺傳播的多外掛攻擊平臺

wyzsk發表於2020-08-19
作者: SwordLea · 2015/07/27 19:50

微信公眾號:Antiylab

0x00 背景


近期,安天安全研究與應急處理中心(安天CERT)的安全研究人員在跟蹤分析HaveX家族樣本的過程中,意外地發現了Rovnix家族(Trojan/Win32.Rovnix)在建立其惡意程式碼下載伺服器時,也開始使用類似HaveX的方式,即:使用WordPress搭建的網站,或入侵第三方由WordPress搭建的正常網站(HaveX的C&C伺服器地址都是透過入侵由WrdPress搭建的網站得到的)。因此,安天CERT 的研究人員對Rovnix家族展開分析。

0x01 威脅概述


enter image description here

圖 1 威脅圖示

Rovnix 家族於2011年首次被發現,至今依然十分活躍。該家族惡意程式碼外掛眾多,具有反除錯、反虛擬機器、反沙箱、安裝VBR-BootKit(VBR全稱Volume Boot Record,卷引導記錄)等技術手段,同時具有收集使用者資訊、盜取比特幣、盜取銀行密碼、遠端控制等功能。

該家族主要透過電子郵件傳播,透過誘使使用者點選郵件正文中的連結地址下載Rovnix主程式(安天CERT迄今共發現了300多個惡意程式碼下載地址)。主程式在執行後會蒐集、回傳使用者系統資訊,其中,資訊回傳地址以硬編碼形式加密儲存在主程式內部。隨後,主程式根據GDA(Domain Generation Algorithm)計算出配置檔案的下載地址。配置檔案使用RC2演算法加密,每個配置檔案功能各不相同。例如:配置檔案Host.dat存放外掛下載伺服器地址。主程式根據當前系統版本下載對應的外掛列表,再下載該外掛列表中的惡意外掛,這些外掛即是上述具有安裝洋蔥(Tor)客戶端、盜取比特幣、盜取銀行密碼、遠端控制等功能的外掛。

0x02. 樣本功能分析


2.1 主程式分析

樣本標籤

病毒名稱 Trojan/Win32.Rovnix

MD5 6EB761EA46A40AD72018D3CEE915C4CD

處理器架構 X86-32

檔案大小 207960  位元組

檔案格式 BinExecute/Microsoft.EXE[:X86]

時間戳 2015-05-11 10:40:37

數字簽名 NO

加殼型別 無

編譯語言 Microsoft Visual C++

VT首次上傳時間 2015-05-11 14:33:00

VT檢測結果 32 / 56

Rovnix主程式的主要功能是回傳使用者系統資訊、釋放其他外掛、安裝Bootkit以及載入外掛。

enter image description here

圖 2 主程式流程圖

1、樣本執行後首先解密出自身程式碼,將地址401000處的資料清0,再重新寫入解密後的程式碼。

enter image description here

圖3 解密自身程式碼

2、進入程式碼空間後,使用Xor 0x14h解密對應的字串。

enter image description here

3、隨後檢測樣本執行環境,包括是否執行於虛擬機器環境、沙箱環境。樣本使用的異常處理機制並非常見的SHE(Structure Exception Handler,結構化異常處理),而且採用了VEH(Vectored Exception Handler,向量化異常處理)。樣本檢測當前執行環境是否支援指令碼語言(如:Python、perl等),並檢查樣本執行路徑及檔名中,是否包含sample、virus等字樣(這通常是反病毒廠商在其動態分析平臺所使用的檔名),從而判斷是否執行於惡意程式碼分析環境。同時,這些環境資訊也會上傳到C&C伺服器。

enter image description here

4、該樣本隨後執行提權(WIN7利用漏洞提權、XP利用普通提權)、複製自身到其他目錄、修改檔案時間、自刪除、檢測反病毒軟體、回傳系統資訊、安裝VBR-BootKit等一系列操作。

5、樣本執行後會釋放4個檔案:

%Application Data%\Microsoft\Crypto\RSA\RSA1342183348.dll payload檔案

%Temp%\tmp1.tmp.exe 正常檔案contig.exe

%system32%\BOOT.dat BOOT加密引導資料

%Temp%\NTFS.sys 正常引導檔案

RSA1342183348.dll是payload程式。樣本會將檔案時間修改為系統檔案svchost.exe的時間(即系統安裝時間),新增登錄檔啟動項,利用rundll32.exe載入並啟動,而它的啟動引數是利用核心驅動模式載入的“DllInitialize”引數。

RSA1342183348"="C:\\WINDOWS\\system32\\rundll32.exe \"C:\\Documents and Settings\\”使用者目錄”\\Application Data\\Microsoft\\Crypto\\RSA\\RSA1342183348.dll\",DllInitialize"

tmp1.tmp.exe是微軟Contig程式,當樣本因為卷沒有足夠的自由空間導致安裝VBR-BootKit失敗時,它將執行Contig.exe程式來調整檔案資料。

注:Contig是一個單個檔案碎片整理程式,其目的是使磁碟上的檔案保持連續。對於持續被碎片化的檔案,或者如果您希望確保碎片數量儘量少,它可以完美地迅速最佳化檔案。

惡意程式碼釋放Contig V1.7版本使用如下靜默方式執行,整理%system32%\BOOT.dat檔案碎片,執行命令為:

Tmp1.tmp.exe -q -n "C:\WINDOWS\system32\BOOT.dat" 256000

Rovnix的關鍵功能是安裝核心模式檔案VBR-BootKit。樣本判斷系統是否存在加密軟體,決定是否安裝BootKit並執行,檢查系統是否使用BitLocker加密,遍歷程式檢視是否有TrueCrypt.exe和VeraCrypt.exe(這兩個程式都是加密軟體),如果Rovnix發現系統使用上述加密,它將不安裝BootKit,未發現則安裝VBR-BootKit。如果Rovnix成功安裝VBR-BootKit,會產生藍色畫面,並導致系統重新啟動;安裝VRB-BootKit失敗,則載入Payload程式。

6、Rovnix連線網路,下載檔案,下載地址已經失效:

http://heckwassleftran.ru/R3_QACBABON/up.bin

C&C:

http://heckwassleftran.ru/cgi-bin/050515/post.cgi

3.2 外掛分析


安天CERT研究人員對Rovnix的外掛進行分析,發現若干其他外掛,這些外掛均從相關惡意伺服器下載執行,其中包括具有TOR功能的洋蔥匿名網路服務的客戶端程式、後門程式、驅動程式、虛擬網路等,詳情見如下列表:

外掛名稱 外掛功能

PLTOR 洋蔥(Tor)客戶端,可以用來進行匿名訪問網路,更好的隱藏自身。

ReactorDll 該模組具有後門功能,收集系統資訊進行回傳,使用POST方式與伺服器進行通訊,接收指令並執行。如:cookie刪除、開啟VNC、開啟socket通訊等等。

BkSetup.dll 獲取系統版本,提升程式許可權,然後在系統中安裝後門模組,並設定自啟動,當所有操作完成後,進行自刪除。

XX++.dll 該模組與Payload功能相同,是Rovnix早期版本的Payload檔案。

LdrLoadDll 該模組為64位驅動程式。用來檢測系統中是否存在防毒軟體,主要功能是載入DLL模組,並呼叫其匯出函式。

PROXY_BOT BOT後門模組,獲取系統詳細版本資訊,使用HTTP、FTP多種方式與伺服器進行通訊,可用來執行多種命令。

PLVNC 該模組可以用來對機器進行遠端控制,可以獲取螢幕截圖、系統資訊,並對系統程式多種操作。

Payload 該模組在前面有比較詳細的分析,主要功能是下載其它模組,並在記憶體中進行載入執行,新增自啟動項等。

loader32.bin 收集系統資訊,使用HTTP POST的方式與伺服器進行通訊,載入配置檔案,根據配置檔案,執行相應的操作。

Rovnix的外掛較多,目前安天CERT研究人員僅對以上9個重要外掛進行了初步的定性分析。並對Payload進行了較詳細的分析。

2.3 Payload外掛分析

樣本標籤

病毒名稱     Trojan[Downloader]/Win32.Rovnix

原始檔名 RSA2095805845.dll

MD5 DED8BB2AD12B2317F1DB3265B003DCB5

處理器架構 X86-32

檔案大小 79872 位元組

檔案格式 BinExecute/Microsoft.EXE[:X86]

時間戳 2015-06-19 10:50:15

數字簽名 NO

加殼型別 無

編譯語言 Microsoft Visual C++

VT首次上傳時間 2015-06-25 15:02:31

VT檢測結果 31 / 55

該外掛為主程式釋放的DLL外掛,該DLL將大量字串與API進行加密處理,解密後的主要功能包括更新C&C地址、建立命名管道、下載更多外掛等。詳細分析流程圖與描述如

enter image description here

1、解密字串:樣本執行後首先將該樣本中所使用到的系統中的DLL、要操作的登錄檔鍵值、程式名稱均使用異或0x14的方式進行了加密。其中,對於窄位元組形式字串,將以BYTE為單位異或0x14,對於寬位元組形式字串將以WORD為單位異或0x14。

enter image description here

2、隨後樣本建立執行緒,進行載入樣本程式的判斷,並置位對應的記憶體標誌,樣本判斷如下4個載入自身的程式。

程式名稱     標誌位 

winlogon.exe 0x7601634C 

svchost.exe 0x76016348

explorer.exe 0x76016350

rundll32.exe 0x76016354

對不同的載入程式,做相應的處理,如:線上程1中,若樣本執行在svchost.exe或rundll32.exe程式中,會呼叫SetErrorMode(0x8003)設定系統不顯示Windows的多種錯誤對話方塊,隱藏執行。如果不是上述4種中的一種載入自身,則程式退出。

3、樣本獲取系統檔案路徑並提取卷標、磁碟型別等資訊。如果樣本是NTFS型別,則置位76016344記憶體為1

enter image description here

並根據磁碟資訊建立互斥量字串

enter image description here

互斥量的組成Global\BD(檔案系統型別\卷序列號),如:Global\BDNTFS816090805。

4、樣本建立執行緒2,進行臨時資料夾下的檔案刪除操作。目的是刪除主程式釋放的盜取系統資訊的臨時檔案。

5、隨後樣本進入主要功能階段,建立了三個執行緒:

執行緒3:

樣本會遍歷登錄檔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run中的所有模組,檢視當前模組是否存在,如果不存在,則會新增到啟動項中。

執行緒4: 透過建立命名管道的方式與其他惡意程式進行通訊。

enter image description here

enter image description here

管道的命名也與卷序列號有關,.\pipe\vhost(卷序列號),如:.\pipe\vhost816090805

執行緒5:

執行緒5的主要作用是更新C&C伺服器並下載外掛執行。

在樣本中C&C域名有3個,均經過異或0x14後,鍵名稱分別為:SH1、SH2、SH3,儲存到登錄檔中,地址為:HKCU(或HKLM)\Software\Microsoft\Product\B(卷序列號)。樣本讀取該鍵值,判斷是否有資料,如果有,則更新到樣本中;如果沒有,則使用樣本中硬編碼的三個C&C域名。當連網獲取到新的C&C後,會更新到登錄檔中。

enter image description here

根據GDA解密後的域名:

cloud58.eu
aszjhqhsbgsvcse4.onion
cloud59.eu

2.4 Yara規則提取(payload)

透過安天CERT提取的Payload外掛相應特徵,編寫Payload Yara規則如下:

rule Rovnix_Payload_Plugins 
{
meta:
author = " AntiyCert"
date = "2015/07/20"
ref = "http://www.antiy.com"
maltype = "Rovnix_Payload_Plugins"
filetype = "dll"
         strings:
$PE32 = {55 8B EC 83 EC 08 C7 45 FC 00 00 00 00 8B 45 08 0F BE 08 89 4D F8 8B 55 08 83 C2 01 89 55 08 83 7D F8 00 74 0B 8B 45 FC 83 C0 01 89 45 FC EB DD 8B 45 FC 8B E5 5D C3}
$PE64 = {48 89 4c 24 08 48 83 ec 18 48 c7 44 24 08 00 00 00 00 48 8b 44 24 20 0f be 00 89 04 24 48 8b 44 24 20 48 ff c0 48 89 44 24 20 83 3c 24 00 74 0f 48 8b 44 24 08 48 ff c0 48 89 44 24 08 eb d3 48 8b 44 24 08 48 83 c4 18 c3}
condition:
1 of them
}

0x03 傳播URL分析


2015年,安天CERT共發現了300多個惡意程式碼下載地址,URL對應的IP地理位置涉及34個國家,其中數量最多的國家是美國,佔總數量的一半以上。這些URL有一個共同的特點,如下圖所示

enter image description here

圖 7 Rovnix下載地址結構

與此同時,安天CERT又發現了另一個家族的樣本也是使用類試的URL結構形式如下圖:

enter image description here

圖8 另一個家族的地址結構

從URL結構上來看,兩個家族之間是有一定聯絡的,都是透過郵件正文中的連結點選下載並執行,並且從傳播時間上看也都是在2015年開始出現。

透過以上統計出的URL地址,安天CERT聯想到了2014年出現的APT事件Havex,Havex的C&C伺服器都是透過入侵由WordPress搭建的正常網站得到的。Rovnix中也有一部分的URL下載地址是入侵WordPress 搭建的正常網站得到的。Rovnix在後期回傳資料時用使用了其它的C&C服務地址。

注:WordPress是一種使用PHP語言開發的部落格平臺,使用者可以在支援PHP和MySQL資料庫的伺服器上架設屬於自己的網站,也可以把 WordPress當作一個內容管理系統(CMS)來使用。

0x04 總結


Rovnix是一個喜歡使用冷門技術的惡意程式碼家族,具有如下特性:它喜歡使用VEH異常處理機制,BootKit使用的是VBR-BootKit;支援眾多的Windows版本,根據環境投放32位或64位的外掛;定製化的外掛支援多種惡意功能。這些特性讓安天CERT的研究人員將其歸類為專業化的攻擊平臺,是有可能被用來進行定向攻擊的武器之一。

PS:外掛Hash列表見原文

博文地址: http://www.antiy.com/response/ROVNIX.html

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章