剖析針對工業組織的常見攻擊TTP
2022年,卡巴斯基研究人員調查了一系列針對東歐工業組織的攻擊活動。在這些活動中,攻擊者的目標是建立一個永久的數據泄露渠道,包括存儲在氣隙(air-gapped)系統中的數據。
基于這些攻擊活動與之前研究過的攻擊活動(如ExCone、DexCone)存在諸多相似之處,包括使用的FourteenHi變體、特定的TTP和攻擊范圍,研究人員非常自信地認為,這些攻擊活動背后是一個名為APT31(也被稱為“Judgment Panda”和“Zirconium”)的威脅組織。
為了泄露數據并交付下一階段的惡意軟件,威脅行為者濫用基于云的數據存儲(例如Dropbox或Yandex Disk)以及用于臨時文件共享的服務。他們還使用部署在常規虛擬專用服務器(VPS)上的C2。此外,威脅行為者還會部署一系列植入程序,通過受感染的可移動驅動器從氣隙網絡收集數據。
對于大多數植入程序,威脅行為者使用了類似的DLL劫持實現(通常與Shadowpad惡意軟件相關)和內存注入技術,以及使用RC4加密來隱藏有效載荷并逃避檢測。libssl. dll或libcurl.dll被靜態鏈接到植入程序以實現加密的C2通信。
研究人員總共發現了超過15個植入物及其變體。具體來說,攻擊中使用的整個植入程序堆棧可以根據其作用分為三類:
- 用于持久遠程訪問和初始數據收集的第一階段植入程序;
- 用于收集數據和文件的第二階段植入程序;
- 第三階段植入程序和上傳數據到C2的工具。
用于遠程訪問的第一階段植入程序
FourteenHi變體
FourteenHi是一個惡意軟件家族,于2021年在一個名為ExCone的活動中被發現,自2021年3月中旬以來一直保持活躍狀態,目標主要是政府實體。在2022年,研究人員發現了用于攻擊工業組織的新變種。
各種各樣的FourteenHi樣本(包括x64和x86)在代碼結構、i加載器和C2類型方面都有很大的不同。但是它們的核心特征(如C2通信協議和命令列表)幾乎是相同的。
加載方案大體相同的所有變體,包括三個主要組成部分:
- 易受DLL劫持的合法應用程序。
- 通過DLL劫持加載的惡意DLL,用于從二進制數據文件中讀取和解密FourteenHi有效載荷,并將其注入某些系統進程,如exe或msiexec.exe。
- 一個二進制數據文件,包含用RC4加密的FourteenHi二進制代碼。
所有已知的FourteenHi變體都在其代碼中嵌入了配置數據并使用RC4加密。配置定義了活動ID、C2地址和端口。fourenhi x64的配置還定義了它在不帶參數執行時為持久化創建的Windows服務的名稱和描述。
MeatBall后門
MeatBall后門是研究人員在分析攻擊過程中發現的新植入程序。它具有廣泛的遠程訪問功能,包括列出正在運行的進程、連接的設備和磁盤、執行文件操作、捕獲屏幕截圖、使用遠程shell和自我更新。該植入存在于x86和x64的變體中。
該植入程序還使用基于DLL劫持技術的加載方案,但與許多其他植入程序不同的是,其有效載荷存儲在惡意DLL加載程序本身中,而不是單獨的文件中。
該植入程序與libssl.dll靜態鏈接,以實現加密的C2通信。
植入程序使用Yandex Cloud作為C2
研究人員發現的另一個植入程序是使用Yandex Cloud數據存儲作為C2。該植入程序使用基于DLL劫持的加載方案,惡意DLL將存儲在單獨文件中的植入程序主體解密,并將其注入合法進程的內存中。
該植入程序同樣使用靜態鏈接的libcurl.dll進行SSL加密通信,并在主機上收集以下數據:
- 計算機名;
- 用戶名;
- IP地址;
- MAC地址;
- 操作系統版本;
- 通往%System%的路徑
為了將收集到的數據上傳到C2,該植入程序使用嵌入式API令牌發送一個請求,以創建一個目錄,該目錄的名稱對受害主機來說是唯一的。
所有上傳和下載的數據均采用RC4算法加密。
用于收集數據和文件的第二階段植入程序
用于收集本地文件的專用植入程序
2022年5月,研究人員發現了一個用于收集本地文件的專用植入程序。該植入程序使用基于DLL劫持技術的加載方案,其中惡意DLL加載程序通過創建名為“WinSystemHost”的服務來確保持久性,解密并將作為二進制數據存儲在單獨文件中的有效負載注入到合法進程的內存中。
該植入程序啟動“msiexec.exe”,然后從單獨的文件讀取和解密有效載荷,并將其注入“msiexec.exe”的內存中。
一旦負載開始在“msiexec.exe”的內存中執行,它就會進入由下述6個簡單步驟組成的無限循環:
- 創建文件存儲文件夾(如果不存在的話),并找到通往“exe”的路徑;
- 解密字符串;
- 讀取配置并開始搜索所有磁盤上的文件;
- 復制文件和寫日志;
- 將復制的文件歸檔并清理;
- 等待10分鐘。
為了滲漏收集到的數據,威脅行為者還使用了一系列植入程序將文檔上傳到Dropbox。
通過可移動驅動器從氣隙網絡中竊取數據的植入程序
2022年4月,研究人員發現了一款旨在通過感染可移動驅動器從氣隙系統中竊取數據的惡意軟件。
【植入程序與可移動介質相互作用的簡化圖】
第一個(主)模塊負責處理可移動驅動器,包括如下操作:
- 收集驅動器信息;
- 將每個驅動器的文件系統結構克隆到本地臨時文件夾中,并保持結構更新至最新狀態;
- 從硬盤中收集被盜文件并在新連接的硬盤上植入第二步惡意軟件;
- 捕獲受感染計算機上的屏幕截圖和窗口標題。
該主模塊在“%TEMP%”中創建一個文件夾,它將在其中存儲日志、連接驅動器的信息和驅動器的內容。
接下來,該植入程序對每個可移動驅動器都創建了一個子文件夾,其中子文件夾的名稱與驅動器的序列號相同。
該植入程序還會檢查這些文件夾中是否存在以下文件,這些文件可用于感染序列號與文件夾名稱匹配的可移動驅動器:
- “exe”,一個合法的McAfee可執行文件,易受DLL劫持;
- “dll”,這是第二步有效載荷;
- “DOC”、“PDF”或“DIR”文件,其中定義了要使用的誘餌鏈接文件。
上述文件存在于分配給特定可移動驅動器的文件夾中,表明攻擊者首先分析了可移動驅動器的內容一段時間,然后才將用于感染特定可移動驅動器的文件復制到指定的文件夾中。
要感染可移動驅動器,主模塊只需復制兩個文件——“mcods.exe”和第二步惡意軟件“McVsoCfg.dll”——到驅動器的根目錄,并為這兩個文件設置“隱藏”屬性。
此外,如果存在第四步惡意軟件,它也會與第二步植入程序一起復制到可移動驅動器中。
然后,主模塊在可移動驅動器的根目錄中生成一個誘餌鏈接文件。
當用戶打開誘餌“.lnk”文件時,操作系統將加載“mcods.exe”,該文件又將加載“McVsoCfg.dll”,并調用其函數“McVsoCfgGetObject”。
【通過受感染的可移動媒介染隔離網段中的計算機的簡化圖】
之后,該植入程序通過從自己的文件(“McVsoCfg.dll”)中提取第三步惡意軟件可執行文件,并將其以“msgui.exe”的名稱保存到被攻擊主機上的“%APPDATA%”中。
第三步植入程序“msgui.exe”非常小且簡單——它被設計成使用“cmd.exe”執行批處理腳本來收集數據,并將輸出保存到驅動器的“$RECYCLE.BIN”文件夾中,以便惡意軟件的主模塊(當連接到最初受感染的主機時)可以收集數據。然后,它會查找要執行的任何第四步文件,然后將其刪除(如果存在的話)。
第四步惡意軟件由兩個文件組成:
- 有效載荷的簡單dropper(類似于第二步惡意軟件所使用的);
- 該有效載荷實際上是第一步模塊的修改版本,也用于收集有關驅動器的信息,收集文件,捕獲屏幕截圖和按鍵(當連接到最初受感染的主機時),但沒有負責感染可移動驅動器的例程。
兩個模塊(第一步和第四步)具有相似的配置和數據保存例程:
【通過受感染的可移動媒體在隔離的網段中收集數據的簡化圖】
為了收集所有被盜數據,威脅行為者使用遠程shell來運行旨在上傳數據的植入程序。
第三階段植入程序和上傳數據到C2的工具
第三階段植入程序由威脅行為者通過第一階段植入程序和第二階段植入程序進行部署。
第三階段植入程序與第一階段植入程序有很多共同之處,包括使用基于云的數據存儲(例如Dropbox、Yandex Disk),代碼混淆以及實施DLL劫持技術。
用于上傳文件到Dropbox的植入程序
一系列用于上傳文件到Dropbox的植入程序,被設計成與第二階段的文件收集植入程序協同工作。
該惡意軟件堆棧由三個植入程序組成,形成一個直接的執行鏈(由三個步驟組成)。
第一步用于持久化,部署和啟動第二步惡意軟件模塊,該模塊負責通過調用第三步植入程序將收集到的文件上傳到服務器。
在分析中,研究人員確定了在初始攻擊幾個月后部署的第三步植入程序的五個變體,以及第二步植入程序的兩個變體。
執行鏈中第二步植入的第一個變體旨在解密第三步有效載荷并將其注入合法進程(例如“msiexec.exe”)。除了C2地址外,該鏈中第三步有效載荷的所有變體幾乎相同。
第三步變體中的C2 IP地址引起了研究人員的注意,因為它是本地IP地址。這意味著威脅行為者在公司內部部署了一臺C2,并將其用作代理,從無法直接訪問互聯網的主機上竊取數據。
后來,攻擊者部署了第二步植入程序的新變種,其功能包括查找Outlook文件夾中的文件名(即電子郵件帳戶名稱),執行遠程命令,并通過調用第三步植入程序將本地或遠程“.rar”文件上傳到Dropbox。
要上傳本地文件,第二步植入程序要調用第三步植入程序,后者應該已經部署在機器上的靜態定義路徑“c:/users/public/”或與第二步植入相同的路徑上。
所有第三步變體都旨在將從本地機器的“C:\ProgramData\NetWorks\ZZ”收集到的“.rar”文件上傳到Dropbox。
手動數據滲漏工具
除了各種植入程序外,研究人員還發現了威脅行為者用于手動數據滲漏的兩種工具。
一個名為“AuditSvc.exe”的工具被設計用于上傳和下載任意文件到Yandex Disk。OAuth令牌、文件路徑和其他一些參數可以作為命令行參數傳遞。或者,這些參數可以在一個名為“MyLog.ini”的配置文件中定義。
第二個被發現的工具名為“transfer.exe”,旨在從16個支持的臨時文件共享服務中任意上傳和下載任意文件。
通過Yandex電子郵件服務上傳文件的植入程序
通過Yandex電子郵件服務發送文件的植入程序是從Yandex Disk下載的。它還與libcurl.dll進行了靜態鏈接。
該植入程序旨在竊取位于靜態路徑“C:\Users\Public\Downloads\111.log”的單個文件(該文件已硬編碼到植入程序中)。“.log”文件作為附件發送到電子郵件。
“111.log”文件很可能是由前一階段的植入程序之一產生的,并且可能包含CMD命令的輸出或通過上述工具上傳到臨時數據共享服務的文件的URL。
在一次發送電子郵件的嘗試之后,該植入程序就會終止。這樣的直接執行流和持久化功能的缺乏可能意味該植入程序更多地被用作一種工具,而非自給自足的服務。
結語
在這項報告中,研究人員分析了威脅行為者用于遠程訪問、收集數據和上傳數據的大量植入程序。
威脅行為者通過將有效載荷以加密形式隱藏在單獨的二進制數據文件中,以及通過DLL劫持和內存注入鏈將惡意代碼隱藏在合法應用程序的內存中,使檢測和分析威脅變得更加困難。
濫用云服務(例如,Dropbox、Yandex、Google等)的趨勢并不新鮮,但它仍在繼續擴大,因為當組織的業務流程依賴于這些服務時,想要限制/緩解這種趨勢將變得異常艱難。
與此同時,濫用流行的基于云的數據存儲,一旦第三方訪問威脅行為者使用的存儲,就有可能導致被盜數據的二次泄露。
原文鏈接:https://securelist.com/common-ttps-of-attacks-against-industrial-organizations/110319/