Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863550074

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

微信截图_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並不依賴於突破性的技術,可能看起來是一個相對簡單的惡意軟件。