Jump to content

微信截图_20231118184928.png

Gamaredon又被稱為Primitive Bear、ACTINIUM和Shuckworm,它的大規模活動通常伴隨著針對特定目標的數據收集工作,這些目標的選擇一般是出於間諜目的。這些活動與部署各種機制和工具並行,機制和工具又盡可能多地保持對這些目標的訪問。其中一種工具是USB傳播蠕蟲,我們將其命名為LitterDrifter。

LitterDrifter蠕蟲是用VBS編寫的,有兩個主要功能:在USB驅動器上自動傳播,以及與廣泛、靈活的命令和控制服務器進行通信。這些特性以與組織目標一致的方式實現,在廣泛目標上維護持久的命令和控制(C2)通道。

接下來,我們將深入分析Gamaredon的LitterDrifter惡意軟件及其C2基礎設施。

Gamaredon的攻擊目標包括烏克蘭、美國、越南、智利、波蘭和德國等多個國家。

1.png

LitterDrifter提交的病毒總數

該組織最近開始部署LitterDrifter,旨在通過可移動USB驅動器傳播並保護C2通道。

LitterDrifter概述LitterDrifter是一種自我傳播的蠕蟲,具有兩個主要功能:在驅動器上傳播,並建立通往Gamaredon廣泛指揮和控制基礎設施的C2通道。這兩個功能駐留在一個以“trash.dll”形式保存到磁盤的業務流程組件中,儘管它有文件擴展名,但它實際上就是一個VBS。

2.png

LitterDrifter高級執行流程

dll作為初始的編排組件,其中運行的主要功能是解碼和執行其他模塊,並在受害者環境中保持初始持久性。

成功執行後,它將運行提取的兩個模塊:

1. 散佈器(Spreader)模塊:在系統中傳播惡意軟件,並通過優先感染mediatype=NULL的邏輯磁盤(通常與USB可移動媒體相關),將其傳播到其他環境。

2. C2模塊:通過生成內置C2服務器的隨機子域來檢索命令和控制服務器IP地址,同時還維護一個備份選項,以便從Telegram通道檢索C2 IP地址。它的主要目的是建立與攻擊者CC服務器的通信,並執行傳入的有效負載。

Dumpster Diving(垃圾搜索)DEOBFUSCODER去混淆編碼編排組件(稱為DEOBFUSCODER)是嚴重混淆的,它是由一系列帶有字符替換混淆的字符串構造的,由7個具有名稱混淆的函數和變量組成。在“Deobfucate”操作的整個運行過程中,LitterDrifter調用一個函數,該函數將執行延遲幾秒鐘(具體時間因示例而異),以延遲後續操作。

main函數接受兩個編碼字符串(另外兩個惡意組件)作為參數。然後,它在用戶的“Favorites”目錄下聲明了兩個路徑,用於存儲來自VBS的其他2個編碼組件的兩個解碼腳本。

為了確保其持久性,Deobfuscoder將原始腳本複製到用戶目錄中名為“trash.dll”的隱藏文件中。

腳本對提供的編碼字符串進行解碼,並將它們作為有效負載組件“jersey.webm”和擴展程序組件“jaw.wm”寫入“收藏夾”目錄,文件的名稱和擴展名以及%userprofile%中的位置因變體而異。

在創建這些文件之後,惡意軟件繼續為這兩個組件中的每一個設置計劃任務,確保它們定期執行。此外,它在註冊表運行項中為用戶的啟動項添加了一個條目,以確保它們在啟動時運行。

任務和啟動條目都使用聽起來像“RunFullMemoryDiagnostic”和“ProcessMemoryDiagnosticEvents”這樣的技術名稱進行偽裝,以顯得合法並避免引起懷疑。

3.png

編排器DEOBFUSCODER的Main Function解混淆片段

整個流程被模糊的函數和變量名以及內聯腳本的使用故意模糊,這使得一般的觀察者很難辨別其意圖和活動。

Spreader模塊分析Spreader模塊的核心本質在於遞歸地訪問每個驅動器中的子文件夾,並創建LNK誘餌快捷方式,以及隱藏的“trash.dll”文件副本。

4.png

trash.dll作為一個隱藏文件與一個誘餌LNK一起分佈在USB驅動器中

在執行時,該模塊使用Windows Management Instrumentation (WMI)查詢計算機的邏輯驅動器,並蒐索MediaType值設置為null的邏輯磁盤,這是一種通常用於識別可移動USB驅動器的方法。

5.png

LitterDrifter的散佈器組件

對於檢測到的每個邏輯驅動器,傳播程序調用createShortcutsInSubfolders函數。在這個函數中,它將所提供文件夾的子文件夾迭代到深度2。

對於每個子文件夾,它使用createsshortcut函數作為“Create LNK”操作的一部分,該操作負責生成具有特定屬性的快捷方式。這些快捷方式是從代碼中的數組中隨機選擇名稱的LNK文件。一個誘餌名稱示例如'Bank_accоunt', 'постановa', 'Bank_accоunt', 'службовa', 'cоmpromising_evidence'。 LNK文件使用wscript.exe***執行帶有指定參數“”“trash.dll”“/webm//e:vbScript//b/wm/cal”的“trash.dll”。除了生成快捷方式外,該函數還在子文件夾中創建一個隱藏的“trash.dll”副本。

6.png

Spreader組件中用於迭代子文件夾的函數

C2模塊分析:清除垃圾Gamaredon的CC方法是非常獨特的,因為它使用域作為C2服務器的流通IP地址的佔位符。

在嘗試聯繫C2服務器之前,腳本檢查%TEMP%文件夾中是否有一個現有的C2配置文件,該文件的名稱在惡意軟件中是硬編碼的。這種機製作為惡意軟件的自檢,驗證它是否已經感染了設備。如果存在,當前執行可能只是由前面討論的持久性機制觸發的計劃執行;如果沒有現有的配置文件,惡意軟件將切換設備並使用WMI查詢ping Gamaredon的其中一個域:select * from win32_pingstatus where address='Write

7.png

LitterDrifter使用WMI查詢檢索C2 IP地址

有了IP地址,LitterDrifter將IP構造成URL。格式通常為http://

最終的結果是一個用戶代理,看起來類似於mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/88.0.4324.152 yabrowser/21.2.3.106 yowser/2.5 safari/537.36;

8.png

LitterDrifter準備HTTP請求,構造URL和用戶代理

請求的HTTP標頭也經過精心定制。例如,在一個樣本中,Referer字段包含https://www.crimea.kp.ru/daily/euromaidan/,它還在Cookie字段中隱藏了Accept-Language和字符串marketCookie的一些細節。

9.png

HTTP請求函數

LitterDrifter使用一個失敗計數器來選擇哪個C2方法是相關的。每次C2未能返回有效負載或Telegram備份通道時,失敗計數器都會增加,LitterDrifter從中提取替代C2。代碼流表明,要返回的第一個答案通常是一個Telegram頻道ID,它保存在備份文件中。

根據失敗計數,LitterDrifter選擇連接哪個C2:

1.如果失敗計數器當前設置為0,則對保存在配置文件中的文件執行請求。

2.如果失敗計數器當前設置為1,LitterDrifter將嘗試使用WMI Query解析其嵌入的C2域,如前所述。

3.如果失敗計數器設置為2,LitterDrifter嘗試連接到從Telegram備份通道提取的C2,使用不同的用戶代理和https://www.interfax.ru/tags/的Referer,這是另一個俄羅斯新聞網站,它會從中提取一個用作C2的IP地址。

10.png

Gamaredon的Telegram頻道隱藏了一個CC的IP地址

如果在C2應答中找到有效負載,LitterDrifter將嘗試解碼它。它打開所有base64內容,並嘗試運行解碼後的數據。根據分析,負載沒有下載到大多數目標。

11.png

LitterDrifter的失敗計數選項和接收有效負載的執行(去混淆)

基礎設施在整個分析過程中,Gamaredon在這次行動中使用的基礎設施有明顯的模式。包括註冊模式,因為Gamaredon的LitterDrifter使用的所有域名都是由REGRU-RU註冊的,並且是TLD .ru的一部分。

這些發現與過去關於Gamaredon基礎設施的其他報告一致。

基於其中的一些模式,我們能夠將特定的域和子域與LitterDriffter的活動聯繫起來,並將其他域與Gamaredon的其他活動集群聯繫起來。

在LitterDrifter活動中,C2模塊通過WMI查詢獲得gamaredon擁有的域的解析。它通過使用隨機單詞和數字生成硬編碼域的隨機子域來實現這一點,因此每個域都顯示出不同範圍的相關子域。有些域只有幾個子域,而另一些則有幾百個子域。下圖表顯示了每個域的子域數量:

12.png

每個域的子域數量

如前所述,對Gamaredon域的WMI查詢返回一個IP地址,該地址用作活動的操作C2。平均而言,一個IP地址可以運行大約28小時。但是,作為活動C2的IP地址通常一天會更改幾次,所使用的所有IP地址都可能屬於同一子網,如下所示:

13.png

過去兩個月每天的CC IP地址數目

總結很明顯,LitterDrifter是為支持大規模收集操作而設計的,它利用簡單而有效的技術,盡可能觸及廣泛的目標,但LitterDrifter並不依賴於突破性的技術,可能看起來是一個相對簡單的惡意軟件。

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...