作者:啟明星辰ADLab
公眾號:https://mp.weixin.qq.com/s/jF1Gg7Lo-2NGti2n6k5zlA
0x01 引言
近期,啟明星辰ADLab監測到一批疑似針對西班牙語地區的政府機構及能源企業等部門的定向攻擊活動,黑客組織通過構造惡意Office Word文檔并配合魚叉郵件發起定向攻擊,以“簡歷更新”作為誘餌文檔向攻擊目標植入間諜木馬,從事情報收集、遠控監視及系統破壞等惡意行動。我們將土耳其黑客的此次攻擊行動稱為“黑獅行動”。
通過對攻擊者的行為和所用服務器相關信息的分析和追蹤,確定該次攻擊來源于一批隱秘多年的土耳其黑客組織-KingSqlZ黑客組織。該組織是一個民族主義色彩非常濃厚的黑客組織,曾攻下其他國家的3千多個網站服務器,并高調的在被攻擊網站上留下其組織的名稱,隨后消失了多年。 如今通過我們對”黑獅行動”的追蹤再次挖出該黑客組織的活動跡象。本次攻擊過程中,該黑客組織采用滲透手段攻下多臺服務器并將其作為存放攻擊代碼的跳板。
2019年2月,我們發現了第一個攻擊樣本并將其加入到追蹤清單中,直到近期已經發現了多起攻擊,每次攻擊都使用了不同的攻擊形態和免殺方式。從目前已有的攻擊代碼中我們發現了兩款商用遠程管理工具(RAT):“WARZONE”和“Remcos”,其中“WARZONE”被殺毒廠商廣泛的識別為“AVE_MARIA”(因為RAT代碼中存在該字符串因而被命名為 “AVE_MARIA”), 但是通過我們深入的分析確定“AVE_MARIA”為遠程管理工具“WARZONE”。本文中,我們將對黑客組織、攻擊目標以及其所使用的攻擊武器進行深入分析。
0x02 威脅分析
2.1 攻擊目標分析
從目前所獲取的攻擊樣本和威脅情報,可以看出本次攻擊活動并沒有大規模的進行,目前還處于攻擊試探階段,但是從其投放的誘餌文檔可以簡單的確定其攻擊目標鎖定在西班牙語系的國家。這些誘餌文檔形如:“Curriculum Vitae Actualizado Jaime Arias.doc”(簡歷更新 海梅阿里亞斯)、“Curriculum Vitae Actualizado Daniel Ortiz.doc”(簡歷更新 丹尼爾奧蒂茲)、“Michelle Flores - Curriculum Actualizado.doc”(米歇爾弗洛雷斯-簡歷更新)、“Jose Trujillo.doc”(何塞特魯希略)等等,它們均采用西班牙語來構造一個帶惡意宏代碼的簡歷文件。以此來對目標人力部門進行攻擊,以誘使相關人員執行惡意代碼進而從事間諜活動。

在我們分析這批誘餌文檔時,還發現一個有趣的現象,那就是許多誘餌文檔中包含了文檔作者信息和最后一次保存者信息,并且這些信息均為類似財政部、信訪局、SCG(Southern Connecticut Gas)等等與政府部門相關的信息。通過我們實際測試發現,這些信息均會在文檔修改后變成當前訪問者office登陸賬戶名或者主機名,并且有心的人還可以對其進行任意定制。我們選取幾個典型的樣本并針對相關信息和邏輯關系做了如下梳理和推論:

我們通過創建內容時間、最后修改時間及攻擊文檔內部的邏輯關系推論出相關記錄應為攻擊者保存。基于最合理以及最有可能的推測,我們認為攻擊者可能是基于黑客組織內部規范,將文檔的相關名稱設置為攻擊目標或相關行業信息,從而偽造成內部人士,在一定程度上起到混淆視聽、隱蔽自身的目的。
由此我們可以看出此次行動的攻擊目標為西班牙語系地區的政府或者公共服務部門,當然并不排除其有更多的目標,至少可以肯定的是此次行動是一次帶有政治目的的攻擊活動。
2.2 黑客組織分析
在我們深入分析惡意代碼時,發現該次攻擊的控制命令服務器是由上游黑客也即是惡意軟件提供商所提供的,從這些控制命令服務器上是無法追蹤到該次行動的背后組織,因此我們把主要精力聚焦于攻擊的前幾個階段相關的域名。雖然大部分域名均采用了隱私保護,無法找到有用的信息,但是我們卻在其中一個強關聯的樣本中發現一個可突破的點。我們在其中一個RTF文檔中內部發現了一個Excel文件,該Excel文件會通過執行宏來下載惡意代碼。通過對該服務器的分析我們成功地找到了與黑客組織相關的線索。

在惡意代碼存儲路徑的同目錄,我們發現黑客組織所留下的一些信息,下圖為其中一個文件記錄的信息:

該文件中包含了一些聲明信息、黑客組織及其相關成員,并且所采用的語言為土耳其語,因此我們判定該組織正是曾經活躍一時的KingSqlZ黑客組織。該服務器很有可能在被黑客組織控制后作為跳板機或資源服務器繼續使用。此外通過惡意代碼時區分析法,我們進一步確定該次攻擊來自于土耳其黑客。我們對RAT樣本之前的PE文件及其他前期攻擊環節相關的樣本的編譯時間做了時區分析(因為RAT樣本來自于上游黑客,因此我們忽略了該類樣本的時區分析)。最后發現這些攻擊樣本的編譯時間在UTC時間21:00至06:00區間內出現的頻次極低。而假定以24:00至08:00作為睡眠時間,攻擊者所處的時區可能會在東3區(UTC+3)正負 1 小時區間內,而土耳其時區為東三區正好符合。
在文件的記錄信息里還可以得知到該組織成員如F0RTYSEVEN , BlackApple , Pyske , HeroTurk , SadrazaM , MrDemonLord等,他們早期進行過瘋狂的網絡攻擊活動,攻陷的服務器高達3287個,而之后便神秘的銷聲匿跡,其twitter賬號也停止了活動。

本次攻擊活動開始于2019年,采用大量公共DDNS服務子域名作為C2來實施攻擊,這其中的一些域名為2019年新注冊的,使用的部分域名如下:
- asdfwrkhl.warzonedns.com
- casillas.hicam.net
- casillasmx.chickenkiller.com
- casillas.libfoobar.so
- du4alr0ute.sendsmtp.com
- settings.wifizone.org
- wifi.con-ip.com
- rsaupdatr.jumpingcrab.com
- activate.office-on-the.net
到報告撰寫時,部分中間攻擊階段的域名已經失效,但RAT回連的C2依然在活躍。依據我們目前對疑似攻擊組織的掌握和溯源分析,繪制黑客組織畫像如下:

0x03 攻擊概述
此次事件的主要攻擊活動時間線如下所示:

其中,我們對2019年2月7日發現的“Curriculum Vitae Actualizado Jaime Arias.doc”文檔進行了詳細的分析,并相繼捕獲到關聯文檔“Curriculum Vitae Actualizado Daniel Ortiz.doc”和“Michelle Flores - Curriculum Actualizado.doc/ Jose Trujillo.doc”。
攻擊者使用了API哈希、無文件攻擊、WinrarSFX、AutoIt、C#混淆和傀儡進程等技術來規避檢測并干擾分析人員。其中,“Curriculum Vitae Actualizado Jaime Arias.doc”文檔植入的木馬來源最初無法確認,我們在其中發現了特征字符串“AVE_MARIA”,其與 Cybaze-Yoroi ZLab 研究人員在2018年12月底披露的針對意大利某能源企業進行攻擊的惡意軟件相似度很高,部分安全研究員和廠商因為沒有成功的進行溯源便以此字符串做為該木馬家族的名稱。而我們經過關聯溯源和同源性分析后發現,“AVE_MARIA”類惡意樣本同RAT工具“WARZONE” RAT具有高度一致性,因此將此類惡意家族命名更新為“WARZONE”。
后文將重點就植入間諜木馬的2個Office Word文檔(”Curriculum Vitae Actualizado Jaime Arias.doc”和“Michelle Flores - Curriculum Actualizado.doc”)及其釋放的文件進行詳細分析。
0x04 技術分析
4.1 早期攻擊樣本
此次攻擊過程開始于一個攜帶惡意宏的DOC文檔,黑客通過偽造成簡歷的投遞郵件手段將此惡意文件發送給攻擊目標,當目標用戶不慎打開文檔便成為了受害者。DOC文檔運行后會啟動惡意宏代碼并從指定的服務器下載“Etr739.exe”,成功下載后立即執行。新進程通過 Base64 解碼出另一個服務器地址,繼續下載惡意代碼“hqpi64.exe”至臨時目錄下。惡意程序“hqpi64.exe”便是 Warzone RAT 的釋放器,其通過釋放 Warzone RAT 來執行后續操作,如將“explorer.exe”作為傀儡進程守護、與控制端進行通信等。
樣本中的惡意代碼大部分采用 CRC32 來加密敏感字串,同時在 API 調用手法上采用了API Hash 值動態獲取函數地址和模擬系統快速調用兩種方式。使用此類手法不但能在一定程度上減少殺軟靜態掃描的檢測,而且還不易被監測到API的調用蹤跡。同時其使用純加密 Shellcode 代碼內存執行的方式加載其核心功能模塊,通過“無文件技術”提高自身隱蔽性,以此來躲避安全廠商查殺。其與C2服務器間的通信數據也以CR4算法進行加密進而規避 IDS 系統的檢測。
樣本整體執行流程如下:

4.1.1 DOC文檔
Doc 文檔為 word 文件,也是針對攻擊目標實施的第一步攻擊,黑客通過釣魚攻擊、社工等手段欺騙攻擊目標打開此文檔讓其中嵌入的惡意宏代碼得以執行。我們使用提取工具獲取到的宏代碼如下圖所示:

在AutoOpen函數中包含了一串混淆過的 cmd 命令,經過解密后的代碼如圖所示:

這段代碼獲得執行后,會直接從此鏈接地址(http[:]//linksysdatakeys.se)下載惡意程序到%Temp%\SAfdASF.exe并執行。
4.1.2 Payload
下一個 Dropper 的下載地址是被加密后保存在惡意程序“SAfdASF.exe”的資源中,加密的資源數據如下圖:

http[:]//www.gestomarket[.]co/hqpi64.exe,然后把“hqpi64.exe”更名為 “2XC2DF0S.exe”并保存在臨時目錄下。

4.1.3 Dropper
在后續的解密以及執行的過程中,此 Dropper 會把一段 Shellcode 注入到 explorer 進程并在內存中解密出RAT實體使其不落地,最終通過無文件技術將RAT加載到內存中來執行。
逃避檢測
此惡意程序在開始執行時,會通過大量的調用 printf 函數打印垃圾代碼和 sleep 函數來達到延時效果,這在一定程度上能夠躲避安全軟件的監控。而其核心功能是將自身攜帶的 shellcode 解密并執行:

解密shellcode
如上圖所示,惡意程序會在加載執行 shellcode 前進行解密。解密算法非常簡單,將每個字節的值增加0x0c即可。
PE Loader
此 PE Loader 在執行 Shellcode 的時候使用了四個參數,經分析后我們將這4個參數內容所對應的具體功能整理如下表所示:

該PE Loader首先在運行過程中進行了沙箱和指定進程的檢測,以防止被自動化系統分析。并且根據自帶的資源數據來判定是否實施駐留本機的操作和注入體的選擇。最后此PE Loader將最終選擇的傀儡進程的空間架空,并把解密出的RAT模塊映射到此進程中執行(原本PE文件代碼被置換)。
運行環境檢測
該 PE Loader 在開始運行時,依然會進行沙箱和調試環境的檢測,同時通過預先計算好的進程名哈希值來查找指定的進程。當這些檢測條件中的任意一條滿足時,該惡意程序就不再繼續執行,直接返回退出。
操作資源數據
如果運行環境的檢測全部通過,該 PE Loader 則加載名為 “FYBLV” 的資源數據,并從資源中取出后續要拷貝自身的文件夾名稱和文件名的字串。然后以參數3作為分隔符,依次取出其它的數據并保存在自定義的結構體中。資源中提取出的結構數據內容如下圖:(圖中標紅的數值為保存在結構體中的8個成員數據):

經過分析,結構體中每個成員的具體功能可參考下圖:

釋放與駐留
如果 bIsCpySelf 值為 TRUE ,那么該 PE Loader 會將自己復制到
C:\Users\SuperVirus\AppData\Roaming\ptdkuybasm\"目錄下并把新文件命名為 szPathName 里保存的內容。接著在 Windows 的啟動文件夾里創建一個.url的網頁文件快捷方式,我們查看該 PE Loader 創建的快捷鍵屬性,發現此快捷鍵的訪問協議格式為file:/// ,即指向的資源是本地計算機上的文件,而后面緊跟的路徑便是復制過去新文件的全路徑。通過此方法則可實現開機自啟動以達到長期控制主機的目的。
最后,該 PE Loader 根據結構體中的 dwFlag 值來選擇后續的 RAT 載體,所對應的 RAT 載體詳見下表:

而在本樣本中,此成員的值所對應的載體為當前運行的自身進程。
獲取RAT并執行
在準備好 RAT 的傀儡進程后,該 PE Loader 將結構體中的 szKey 值作為 key,和名為“BJU”的資源傳入解密函數。解密的算法僅為 XOR 運算,具體算法代碼如下圖:

接著,該 PE Loader 重新創建新進程并將其設置為掛起狀態。然后卸載此進程映像,并把在內存中解密出的新的 PE 頭部,以及節數據依次寫入到掛起的進程中,最后修改 OEP 并啟動運行。

4.1.4 WARZONE RAT模塊
我們將此 PE 文件從內存中 dump 出來,通過分析和溯源后發現,該 PE 與國外某黑客論壇中售賣的 WARZONE RAT 同出一轍。由此我們推測,此處使用的 RAT 模塊可能為WAREZONE RAT1.6 版本,此版本為 C++ 語言編寫,主要功能包括遠程桌面控制、鍵盤記錄、特權升級(UAC繞過)、遠程WebCam、竊取憑證信息、Remote Shell、Offine Keylogger 等等。下面我們會對RAT中的核心部分做簡要介紹。
4.1.4.1 獲取C&C地址
為了防止 C&C 被輕易發現或者批量提取,該木馬將其加密后存放在“.bss”的資源節數據中。通過對解密函數的分析我們發現,這里采用了 CR4 算法。CR4 生成一種稱為密鑰流的偽隨機流,它是同明文通過異或操作相混合來達到加密的目的。解密時則使用密鑰調度算法(KSA)來完成對大小為256個字節數組 sbox 的初始化及替換。具體流程如下:
1) 用數值0~255來初始化數組sbox。

2) 當開始替換的時候,獲取硬編碼在資源里的密鑰,長度為0x32個字節。 (在資源數據中前0x32個字節是密鑰,其余0x68個字節則是待解密的數據)
3) 密鑰流的生成是從 sbox[0] 到 sbox[255],對每個 sbox[i],根據當前 sbox值,將 sbox[i] 與 sbox 中的另一個字節置換,然后使用密鑰進行替換。當數組 sbox完成初始化之后,輸入密碼便不再被使用。

4) 替換后的 sbox 數組中的數值如下圖:

5)通過替換后的sbox和待解密的數據進行 XOR 運算后,最終得到服務器的 host 地址asdfwrkhl.warzonedns[.]com。
4.1.4.2 執行注入功能
當成功解密出 C&C 地址后,該木馬則開始將一段 Shellcode 代碼注入到傀儡進程中。在注入功能開啟時,木馬程序首先會根據操作系統架構(64/32)來選擇注入到 cmd.exe 或 explorer.exe 中。相關代碼如下圖所示:

接著,該木馬使用遠程線程的方式來注入核心功能 Shellcode 代碼,并在啟動遠線程執行時,修改寫入目標進程內存偏移的 0x10E 處為開始執行代碼。

通過分析我們發現,這段注入代碼的主要功能是利用傀儡進程來保護Dropper(hqpi64.exe)。其會定時檢查 Dropper 是否處于運行狀態,如被關閉,則重新啟動。 以此達到進程守護的目的。
4.1.4.3 通信協議解析
1) 連接服務器
當成功注入到目標進程后,該木馬則開始嘗試與前文解密出的 C2 服務器進行連接,并會根據服務器返回的內容執行指定操作。

接收數據包的結構大致如下:

2) 解密控制包
該木馬首先將接收到的前 0x0C 個字節作為頭部數據調用自定義fn_Decrypt_CR4函數進行解密(密鑰以明文方式硬編碼在代碼中)。成功解密后,取出偏移 0x04 處的 DWORD 數值作為是否繼續執行以下流程的判斷條件(此 DWORD 數值里保存著除去 0x0C 后,剩余的數據長度)。

若條件符合,則該木馬會再次調用fn_Decrypt_CR4函數對整個數據(頭部數據+跟隨數據)重新進行一次解密。接著調用自定義fn_Distribute函數,并取出數據中的 OpCode 來執行 switch 中不同的操作。相關代碼如下圖所示:

3) 執行控制指令
通過我們前面的分析可以看到,該木馬控制指令中包含了大量用戶隱私信息的竊取功能。最終受害者的敏感數據信息,都會根據遠程服務器的指令回傳給遠程服務器。
4.1.4.4 控制指令功能
當遠程服務器成功響應數據后,該木馬就會根據服務器返回的內容執行指定操作。部分控制指令功能如下表所示:

竊取憑證信息
竊取的信息包括 Google Chrome、 Mozilla Firefox 等瀏覽器和 Outlook、Thunderbird、Foxmail 郵箱客戶端保存的憑證信息等。 該木馬獲取相關憑證信息以及實現方法如下表所示:

a) 提取 Chrome 憑證
Chrome 瀏覽器保存用戶登錄信息的數據庫文件為%AppData%\Local\Google\Chrome\UserData\Default\ Login Data,該數據庫是 sqlite3 的數據庫,數據庫中用于存儲用戶名密碼的表為 logins 。logins 表結構定義如下:

從該表中讀取的內容是加密的,通過CryptUnProtectData函數對其進行解密便可以獲取到明文數據。最后該木馬將解密后的數據保存在名為“xxx.tmp”(“xxx”為 Base64 解碼出的字串)的臨時文件中。

b) 提取Mozilla憑證信息
該木馬首先檢索和讀取profile.ini配置文件,并提取關聯的文件夾路徑。接著利用nss3.dll來解密數據庫signons.sqlite中被加密的內容,并通過SQL語句獲取到主機名、被加密的用戶名及密碼,然后調用nss3.dll中的導出函數對sqlite查詢出的用戶名和密碼進行解密。最后同樣的,將解密后的內容保存在名為”xxx.tmp”的臨時文件中。
c)OutLook 憑證獲取
電子郵箱 OutLook 的用戶登錄憑證一般會保存在注冊表中,
該木馬通過枚舉注冊表·Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles·下的所有子健,讀取鍵名為下表中的數據比如 password 進行解密還原出明文的密碼。最后將獲取到的用戶的 Outlook 登錄憑證寫入名為“xxx.tmp”的臨時文件中。
d) Thunderbird 憑證獲取
同樣,Thunderbird 郵箱的憑證數據也是存儲在數據庫文件%AppData%\\Thunderbird\\Profiles中,該木馬通過 nss3.dll 的導出函數對儲存文件的密碼進行解密。最后將解密后的數據保存在名為“xxx.tmp”的臨時文件中。

e) FoxMail 憑證獲取
該木馬在 FoxMail 的安裝目錄下查找 Storage 文件夾,接著遍歷所有當前郵箱賬戶目錄下的\Account\Account.rec0文件。此文件實際上就是用來存放賬戶相關信息的,加密后的密碼就默認保存在這里。木馬獲取并解密此文件后便可竊取到Foxmail的憑證信息。

f) 上傳獲取到的憑證信息
竊取完所有信息后,該木馬則使用fn_Decrypt_CR4加密函數將文件內容做加密處理并將它們發送給遠程服務器。

鍵盤記錄
a) 離線鍵盤記錄(常駐)

當接受到的控制命令為為啟用脫機鍵盤記錄時,此木馬則使用鉤子來實現鍵盤記錄功能。該鉤子將捕獲按鍵和窗口名信息保存在C:\user\sss\AppData\Local\Microsoft Vision\目錄下,文件則以當前日期和時間來命名。相關代碼的實現如下圖:

b) 臨時鍵盤記錄
當遠程控制指令為開啟鍵盤記錄時,該木馬則通過 Raw Input 方法來實時監控當前鍵盤的使用情況。接著將捕獲到的鍵值進行判斷并轉化為字符值。同樣的,這些字符值和窗口名信息保存在C:\user\sss\AppData\Local\Microsoft Vision\目錄下,文件則以當前日期和時間來命名。
Remote VNC安裝
a) 將新用戶添加到“遠程桌面用戶”組
首先,該木馬會調用fn_Base64自定義函數,解碼出后續需要添加的賬戶名和密碼。并設定Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\Userlist注冊表值為 0 來隱藏新創建的賬戶。
接著,該木馬將上文解碼出的賬戶名和密碼作為新用戶加入到 administor 用戶組中。這樣便可使用非管理員用戶來進行遠程桌面登錄。
b) 更改遠程桌面設置
該木馬會修改注冊表信息,實現打開遠程桌面、多用戶支持、更改用戶登錄和注銷方式、使用快速登錄切換、以及設置遠程“終端服務”的使用名為“RDPClip”等等操作。具體細節如下圖所示(僅截取了部分步驟):

通過分析我們發現,此 RAT 的遠程桌面功能是通過特制的 VNC 模塊來實現的。并且在后續的更新版本中,還增加了 HRDP 模塊來實現隱藏遠控桌面。該 HRDP 模塊使用了 Github 上的 rdpwrap 項目,不僅可以在后臺登錄遠程計算機,并且創建的 Windows 賬戶還會自動隱藏。
權限升級(UAC繞過)
該木馬的權限提升是利用了自動提升權限的合法應用程序“pkgmgr.exe”來執行DISP模塊。其功能代碼實現是采用了 Bypass-UAC 框架,該框架可以通過調用 IFileOpertion COM 對象所提供的方法來實現自動提權。
該木馬先將嵌入在資源數據中的PE文件在內存中加載并運行。而此 PE 文件實際上是一個加載器,其所做的事情則是將資源中的另一個 PE 偽造為“dismcore.dll”,然后將此dll 復制到 System32 目錄下,最后使用“pkgmgr.exe”執行偽造的惡意DLL。由于“pkgmgr.exe”是一個 UAC 白名單程序,所以它默認具有管理員權限,且不會彈出 UAC 提示框。部分代碼如下圖所示:

此惡意DLL 的主要功能是獲取注冊表中的“Install”安裝信息(Dropper的路徑)并重新啟動具有管理員權限的 Dropper 新進程。

未知測試
該木馬嘗試與遠程服務器進行通信,當連接成功時則會向服務器發送“AVE_MARIA”字串作為暗號。然后等待接收服務器返回數據,大小為4個字節。如果接收成功,則開啟新線程。

在新線程中,根據遠程服務器發送的指令,與新指定的 C&C 進行連接。

由于接收數據無法獲取,所以目前我們無法確定其準確用途,暫將其命名為未知測試。
4.2 最新攻擊樣本
我們在2019年3月26日捕獲到了最新的關聯文檔 “Michelle Flores - Curriculum Actualizado.doc”,其同樣通過惡意宏啟動攻擊。文檔首先通過Powershell腳本下載并執行PE文件“massive.exe”(C#編寫并加入了大量混淆)。之后包含了兩個階段,第一階段“massive.exe”會從資源中解密出PE文件“DUMP1.exe”(C#編寫)并加載。第二階段則是“DUMP1.exe”釋放自身并通過計劃任務設置自啟動,最后從資源中提取出 Remcos RAT并以傀儡進程的方式加載運行,核心過程如下圖:

階段一:
“massive.exe”從資源中提取并解碼出加密字符流,之后通過StrReverse函數將該字符流逆序排列,再經FromBase64String函數解碼,最后通過自定義的解密函數method_0解密得到PE文件“DUMP1.exe”。

解密函數method_0如下圖所示:

在經過逆序排列和 Base64 解碼后的字符串(byte_0)中,前16位為解密密鑰0x28 0x49 0xf7 0x30 0xec 0x8d 0x50 0x80 0x94 0xaf 0x85 0xaa 0xa8 0xe7 0xc0 0x41,之后為待解密密文。函數以16位為循環,將密鑰同密文依次進行按位異或,最終解密得到“DUMP1”文件并通過CallByName函數加載執行。
階段二:
“DUMP1”文件同樣采用C#編寫,程序首先會睡眠50秒以躲避沙箱檢查,之后會檢測調試器并將自身釋放至%ApplicationData%\riNpmWOoxxCY.exe,接著創建“schtasks.exe”進程并添加計劃任務“Updates\riNpmWOoxxCY”,從而實現在登錄賬戶時自啟動,相關命令如下:
C:\Windows\System32\schtasks.exe /Create /TN Updates\riNpmWOoxxCY /XML C:\Users\super\AppData\Local\Temp\tmp925C.tmp

之后,程序會從自身資源內解密出PE文件“DUMP2”,通過 CreateProcess、WriteProcessMemory 和 SetThreadContext 等函數,以掛起的方式加載一個新的進程,并最終以傀儡進程的方式寫入并加載“DUMP2”。

經過分析,我們在“DUMP2”中發現了一些可疑字符串如:“Remcos”、“Remcos_Mutex_Inj”、“2.3.0 Pro”。

通過大量可疑信息我們確認此木馬為Remcos RAT的客戶端,且其使用的版本為2.3.0 Pro。以Remcos RAT免費版V2.4.3為例,服務端如圖所示:

其免費版僅可添加一個 C2 連接服務器,專業版則沒有數量限制。此次攻擊中植入的木馬是通過專業版生成且連接至多個惡意 C2 ,包含的 C2 地址提取如下:
- casillas.hicam.net
- casillasmx.chickenkiller.com
- casillas.libfoobar.so
- du4alr0ute.sendsmtp.com
- settings.wifizone.org
- wifi.con-ip.com
- rsaupdatr.jumpingcrab.com
- activate.office-on-the.net
Remcos RAT 自2016年下半年開始在其官網和黑客論壇售賣,部分廠商曾對其進行過詳細的技術分析,在此不做贅述,但這款木馬的發現為我們尋找“Curriculum Vitae Actualizado Jaime Arias.doc”植入的未知木馬來源提供了很好的溯源線索。
0x05 惡意代碼溯源與關聯
5.1 惡意代碼溯源追蹤
前文曾提到,“Curriculum Vitae Actualizado Jaime Arias.doc”植入的木馬中包含了“AVE_MARIA”特征字符串,且自2018年12月開始,“AVE_MARIA”類惡意樣本在twitter、virustotal等平臺越來越多的被發現。但多篇相關研究文章均未指出其真實來源,殺毒廠商也廣泛的將其命名為“AVE_MARIA”,這引起了我們濃厚的興趣。
我們嘗試從多種角度去溯源木馬以尋找線索,包括域名、IP、關聯樣本等等。其中在對關聯樣本“Michelle Flores - Curriculum Actualizado.doc”的分析中成功溯源到了商用軟件 Remcos RAT 。我們分析了該軟件的發布渠道,發現其不僅在官網進行銷售,還在諸多黑客論壇如 Hackforums 上大量售賣。由此,我們猜測攻擊人員很可能活躍在相關論壇并購買過多款商用軟件,同時也將溯源重點轉向黑客論壇和暗網市場。
我們收集并分析了大量“AVE_MARIA”類惡意樣本,發現大部分樣本均通過warzonedns.com子域名進行惡意連接和下載,追溯發現其實質為黑客提供的 DDNS 服務。結合攻擊人員的活動線索,我們成功追蹤到 Hackforums 論壇上的可疑用戶Solmyr。

Solmyr 在論壇中提供了 warzonedns.com 域名的免費 DDNS 服務(IP動態綁定至子域名),使得用戶可以輕易的將服務器IP綁定解析至 warzonedns.com 下的任意子域名,使用示例如下:

這無疑給黑客提供了很好的藏身之所,與此同時我們發現 Solmyr 的另一個身份是 WARZONE RAT 的發布者,該軟件由于控制手段豐富、技術功能強大、迭代更新迅速,目前在Hackforums論壇中非常受歡迎。

至此,我們有理由懷疑攻擊者使用過該款商用遠程管理工具。由于該軟件閉源且不提供免費版本,我們追溯到了 WARZONE RAT 流出的破解版本(V1.31),并將其與“Curriculum Vitae Actualizado Jaime Arias.doc”植入的木馬樣本進行同源性分析,以確定二者間的關聯。
5.2 同源性分析
首先,我們在兩種樣本中均發現了特征字符串“AVE_MARIA”,并且針對兩類樣本的代碼結構進行了比對,發現相似度極高。

其次,我們通過 Bindiff 進行了更為精確的對比,在去除部分 API 干擾并比較分析了可信度高的函數后,發現大量函數完全相同,占比達到 80.16%,其余函數則可能因為版本原因略有差別,這也印證了二者間的強關聯性。

另外,從傳播時間的角度分析,“AVE_MARIA”關聯樣本最初出現的時間(2018年12月2日)略晚于WarzoneRAT在論壇的發布時間(2018年10月22日),這也符合惡意代碼傳播的時間邏輯。
依據以上幾點分析,我們認為兩者具有高度的一致性。從目前已知的情況看,WARZONE 被殺毒廠商廣泛的識別為 AVE_MARIA,而在深入比對分析后,我們判定黑客組織使用的遠控木馬正是 WARZONE RAT。因此可以將此類包含“AVE_MARIA”字符串的惡意樣本家族命名更新為“WARZONE”。
5.3 域名關聯
我們觀察到目前與 DDNS 服務 warzonedns.com 相關聯的子域名總數共101個,部分截圖如下:

這批域名均為 warzonedns.com 提供的免費子域名,且大部分關聯至惡意樣本,這表明大量黑客正在濫用此類服務進行惡意攻擊。
可以判斷,Solmyr 團伙作為 WARZONE 類惡意軟件產業鏈的上游供應商,提供了包括免費域名服務、收費惡意軟件及其它惡意利用技術等一系列服務,打包售賣給下游黑客使用。此次事件的攻擊組織也為其下游客戶,通過購買其部分服務,與自身的惡意代碼組合利用來達到更佳的攻擊效果,同時也能更好的隱藏自己的身份。
0x06 總結
本文對本次攻擊活動的攻擊流程、相關的惡意代碼、黑客背景等做了深入的分析和研究,從上文的分析中我們可以看出該黑客組織目前的攻擊活動十分謹慎,既沒有大規模的攻擊,也沒有采用高成本的0day漏洞,同時,攻擊活動時間也非常短。這表明該攻擊活動還處于初期,并對目標進行了一些試探性、針對性的攻擊,也為后續的攻擊做好準備。此外通過對攻擊活動的溯源,我們確定了該次活動背后的黑客組織,并根據該黑客組織的活動歷史,發現其民族主義色彩強烈,因此政治目的意圖也較為明顯。
當前利用宏進行網絡攻擊已經成為一種成本較低的攻擊方式,因此也被大量的黑客組織所使用。黑客常常利用目標的一些薄弱環節來進行此類攻擊,具有一定的成功率,通過誘餌文檔可以看出,本次活動針對的是政府機構的招聘部門,此類人群具有相對較弱的安全意識,且由于工作中需要翻閱的簡歷量較多(如財政部門的簡歷量通常較大),使得相關人員無法分辨偽裝得較好的惡意簡歷文件。再加上多階段在線下載惡意代碼的策略、無文件技術和打包加密技術的使用,從而大大提高了攻擊的成功率。因而此類攻擊需要相關部門提高警惕,加強體系架構中的短板防范。
IOC

啟明星辰積極防御實驗室(ADLab)
ADLab成立于1999年,是中國安全行業最早成立的攻防技術研究實驗室之一,微軟MAPP計劃核心成員,“黑雀攻擊”概念首推者。截止目前,ADLab已通過CVE累計發布安全漏洞近1000個,通過 CNVD/CNNVD累計發布安全漏洞近500個,持續保持國際網絡安全領域一流水準。實驗室研究方向涵蓋操作系統與應用系統安全研究、移動智能終端安全研究、物聯網智能設備安全研究、Web安全研究、工控系統安全研究、云安全研究。研究成果應用于產品核心技術研究、國家重點科技項目攻關、專業安全服務等。

本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/930/
暫無評論