Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863104053

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.

在過去的幾個月裡,Check Point Research一直在追踪分析“STAYIN’ ALIVE ”,這是一項至少從2021年就開始活躍的持續活動。該活動在亞洲開展,主要針對電信行業和政府機構。

“Stayin’Alive”活動主要由下載和加載程序組成,其中一些被用作針對知名亞洲組織的初始攻擊載體。發現的第一個下載程序名為CurKeep,目標是越南、烏茲別克斯坦和哈薩克斯坦。

觀察到的工具的簡單化性質以及它們的流行表明它們是一次性的,主要用於下載和運行額外的有效負載,這些工具與任何已知攻擊者創建的產品沒有明顯的代碼重疊,並且彼此之間沒有太多共同之處。然而,它們都與ToddyCat基礎設施有關。

該活動利用魚叉式網絡釣魚郵件利用DLL側加載方案來傳播壓縮文件,最明顯的是劫持Audinate的Dante Discovery軟件(CVE-2022-23748)中的dal_keepalives.dll。

“STAYIN’ ALIVE ”活動背後的攻擊者利用多個獨特的加載程序和下載器,所有這些加載程序和下載器都連接到同一套基礎設施,與一個通常被稱為“ToddyCat”的攻擊相關聯。

後門和加載程序的功能是非常基本和高度可變的。這表明攻擊者將它們視為一次性的,並且可能主要使用它們來獲得初始訪問權限。

CurKeep後門調查是從2022年9月發送給越南電信公司的一封電子郵件開始的,該電子郵件被上傳到VirusTotal。郵件主題CHỈ THỊ VỀ VIỆC QUY ĐỊNH QUẢN LÝ VÀ SỬ DỤNG USER,翻譯為“管理和使用說明:用戶規定”,這可能表明目標在IT部門工作。電子郵件包含一個ZIP附件,裡面有兩個文件:一個合法的簽名文件mDNSResponder.exe,重命名為匹配電子郵件,以及一個名為dal_keepalives.dll的側加載DLL。

1.png

原始CurKeep電子郵件誘餌

首先運行合法的可執行文件(由Zoom簽名),它加載dal_keepalives.dll,然後加載一個簡單的後門程序,稱為“CurKeep”。在初始執行期間,它將自己和合法的exe文件複製到%APPDATA%文件夾中,並設置一個名為Reserved的環境變量來指向它的路徑。該變量用於名為AppleNotifyService的計劃任務,該任務的目的是維護負載執行的久性。

2.png

CurKeep攻擊鏈

根據新發現的被劫持DLL方案,我們發現了多個部署相同工具的檔案:

Саммит 2022 г (парол - 0809).rar,可能用於針對烏茲別克斯坦,因為它是從烏茲別克斯坦上傳的,俄文文本。

QForm V8.zip ,QForm是一個仿真軟件,該文件託管在一個已知的研究門戶域名上。 Приказ №83 от 29.05.2023г.rar,可能用於針對哈薩克斯坦,假設它再次從哈薩克斯坦上傳,並帶有俄語文本。

CurKeep負載有效負載本身是一個非常小但高效的10kb文件。它包含26個函數,不使用任何庫進行靜態編譯,在執行時,它首先從msvcrt.dll生成一個導入數組,以獲得常見的C運行時函數,因為它沒有。

3.png

函數導入

4.png

全局結構構造

函數主要有效負載邏輯由三個主要函數組成:report, shell, 和file。它們中的每一個都被分配到一個不同的消息類型,該消息類型被發送到CC服務器。當執行時,負載一開始運行report函數,將基本偵察信息發送到CC服務器。然後,它創建兩個獨立的線程來重複運行shell和file函數。

report- CurKeep收集有關受攻擊計算機的信息,包括計算機名稱、用戶名、systeminfo的輸出以及C:\ProgramFiles(x86)和C:\Program Files下的目錄列表。

shell -以JSON格式發送計算機名,使用簡單的異或加密和base64編碼到CC。預期的響應包含命令字符串,命令之間以“|”分隔。它執行每個命令並將輸出發送到CC服務器。

file -發送與shell線程相同的消息,並接收如下格式的字符串' [FILE_ID]|[FULL_PATH]|[BASE64_ENCODED_FILE_DATA] '。它解析字符串並將數據寫入文件。

通信後門通信是基於HTTP的,每個函數的結果通過post請求路徑/API /report/API /shell或/API /file發送到匹配的API。結果被加密並存儲在JSON ‘msg’字段中。

5.png

基礎設施分析

我們發現的所有CurKeep樣本都與一組CC服務器通信,這些服務器鏈接到同一個TLS證書:fd31ea84894d933af323fd64d36910ca0c92af99。該證書在多個IP地址之間共享,我們認為它們都與同一個攻擊者有關。

6.png

在多個IP地址之間共享證書

除了證書之外,我們還觀察到域的類似註冊模式以及ip使用重複的asn。

7.png

相似的註冊模式和重複的asn

新發現的工具新發現的基礎設施揭示了幾個額外的樣本,主要是加載程序,用於同一地區的針對性攻擊,幾乎所有加載程序都是通過類似的方法執行的,最常見的是DLL側加載。加載程序的性質及其多樣性表明,攻擊者利用簡單的加載程序進行攻擊,仔細選擇部署額外工具的目標。

CurLu加載程序與此基礎結構相關聯的最常見的工具是CurLu加載程序,它通常通過濫用bdch.dll的側加載來加載,但這不是使用的唯一方法。這個加載程序的主要功能是聯繫CC服務器並接收要加載的DLL,然後調用預定義的導出。這是通過發送一個URI?cur=[RANDOM]的請求來實現的:

8.png

構建隨機請求URL

來自服務器的預期響應是DLL,然後將其加載並映射到內存中。接下來,加載程序搜索兩個預定義導出中的一個,並執行找到的任何導出。

9.png

在下載的DLL中搜索導出函數

CurCore其中一個新檢索的有效負載是通過名為incorrect personal information.img的IMG文件傳播的。它是從巴基斯坦上傳到VirusTotal的,利用mscoree.dll劫持部署了另一個名為CurCore的小後門程序。這個CurCore變種也指向一個模仿巴基斯坦電信供應商Nayatel的域名ns01.nayatel.orinafz.com。

當執行時,DLL通過比較執行路徑與C:\ProgramData\OneDrive\來檢查它是否持久化執行。如果沒有,它將自己和合法的PE文件複製到前面提到的OneDrive.exe文件夾下,並使用命令schtasks /create /sc minute /mo 10 /tn 'OneDrive' /tr 'C:\ProgramData\OneDrive\OneDrive.exe創建計劃任務。

如果從正確的路徑執行,它將創建一個線程,該線程初始化一個大型UUID字符串數組,然後繼續加載rpcrt4.dll並動態地導入UuidFromStringA函數。接下來,它使用該函數將整個UUID數組轉換為字節,每次一個UUID。

10.png

用於生成shellcode的UUID數組

然後,它使用EnumSystemLocalesA函數來執行從uid創建的shellcode。然後,這個shellcode加載並執行最終的有效負載。

11.png

將UUID轉換為字節並執行提取的shellcode

CurCore負載CurCore有效負載是一個小而有限的後門。執行時,它加載並解析與winhttp.dll中的HTTP請求和kernel32.dll中的CreatePipe相關的函數(從未使用過)。

接下來,它啟動主循環,其中包含負責向CC域ns01.nayatel.orinafz.com發出HTTP請求的子循環。 HTTP請求由以下結構構建:

DWORD custom_checksum; DWORD ukn_1; DWORD message_type; //only being used on ReadFile command WCHAR_T desktop_folder_path[];

custom_checksum是通過對桌面文件夾路徑的WCHAR_T數組中的所有第一個字節求和來計算的。該結構是base64編碼的,並在以下請求中傳輸到服務器:

12.png

接收到的響應也是用base64編碼的,它的第一個DWORD是要執行的命令ID。有效負載總共支持3個功能有限的命令,這表明它只用於初始偵察:

13.png

CurLog加載程序

與同一基礎設施相連的一個加載程序CurLog也被用來針對哈薩克斯坦的主要目標,我們觀察到幾個變體,一些通過DLL執行,另一些通過EXE執行。

CurLog加載程序的一個變體是在一個名為Compatible Products - Vector ver7.1.1.zip的zip文件中提供的,該文件包含一個同名的EXE文件。來自哈薩克斯坦的提交者也上傳了一個同名的DOCX文件,其中描述了一個名為VECTOR的系統及其兼容性。

14.png

VECTOR系統描述

當負載執行時,它通過比較執行路徑與C:\Users\Public\Libraries或檢查它是否使用參數-u運行來檢查它是否會持久性運行。如果沒有,它會添加一個計劃任務,並將自己和合法的exe複製到前面提到的文件夾中。

接下來,它聯繫CC服務器並期望接收解碼的十六進制流。如果成功,它將繼續驗證已解碼的十六進制流是否以MZ或cDM開頭,並將其保存到文件中。最後,它基於生成的文件創建一個進程。

針對越南的攻擊我們發現的最古老的變種(見下文)是通過一個以越南ISP為主題的ISO映像從越南上傳的。嚴重混淆的示例驗證它是否在正確的路徑上執行,就像其他加載程序一樣。如果沒有,它將創建目錄C:\ProgramData\ApplicationData\,並將合法的EXE文件複製到該文件夾中,並將惡意的側面加載的DLL文件mscoree.dll複製到該文件夾中。然後,它將4個硬編碼字節寫入一個新文件v2net.dll,該文件用作活動ID,它獲取計算機名,並發送以下網絡請求:

15.png

然後使用帶有密鑰0x44的簡單異或加密對網絡響應進行解密。接下來,它檢查第一個字節XOR0x09是否等於0x44,第二個字節XOR0xD7是否等於0x8D。你可能會注意到MZ ^0x09D7=0x448d,從中我們可以推斷CC響應應該包含PE文件。然後將接收到的文件寫入AppData\Roaming\ApplicationData\[HEX_STRING]\common.exe並執行。

StylerServ後門研究中,我們注意到許多加載程序的一個共同特徵:它們的編譯時間戳被修改為2015,其標頭值表明它們是使用Visual Studio 2017編譯的。

16.png

副標題顯示Visual Studio 2017(上圖)和2015年的編譯時間戳

繞過這個特徵,我們發現了另外一個示例,該示例由某人上傳,此人也上傳了CurLu加載程序信標的一個變體到127.0.0.1,並在bdch.dll上使用相同的側加載。

新確定的示例名為StylerServ,它與前面提到的加載程序非常不同,因為它被用作被動偵聽器,通過特定端口為特定文件提供服務。當DLL被執行時,它會創建五個線程,每個線程監聽一個不同的端口。在樣本中,我們觀察到以下端口:60810、60811、60812、60813、60814。

17.png

創建監聽特定端口的線程

每隔60秒,每個線程都會嘗試讀取一個名為styles .bin的文件。如果該文件可用且文件大小為0x1014,則認為該文件有效,並在後續線程的網絡請求中提供該文件。這些線程監督套接字上演變的一整套行為。其邏輯本質上是,每個線程都可以接收遠程連接,並提供前面提到的stylesers .bin的加密版本。

具有相同名稱的文件(stylesers .bin)也由同一提交者上傳,並使用XOR加密。在StylerServ後門中不存在解密文件的密鑰,但可以通過執行加密分析獲得。當它被解密時,我們可以看到加密的文件看起來像一種配置文件,包含各種文件格式和一些未知的DWORDS:

18.png

加密配置

19.png

解密配置

受害者研究在我們對這次活動的分析中,我們觀察到亞洲國家的目標一致,即越南、巴基斯坦、烏茲別克斯坦,最突出的是哈薩克斯坦。目標的跡象包括魚叉式網絡釣魚郵件、VirusTotal提交者和文件命名約定。

此外,各種各樣的加載程序和下載程序所使用的域表明,至少有一些目標或最終目標是政府附屬組織,主要在哈薩克斯坦,包括:

pkigoscorp[.]com——很可能是為了模仿https://pki.gov.kz/,哈薩克斯坦國家證書頒發機構。

certexvpn[.]com——哈薩克斯坦政府使用的哈薩克VPN軟件。

此外,有跡象表明,其中一次攻擊是圍繞一個名為qform3d的模擬軟件進行的。這包括使用域名qform3d[.]in的使用以及在壓縮文件QForm V8.zip中傳播文件。惡意軟件託管在一個研究門戶網站上,這表明其目標可能從事研究工作。

幕後組織該活動利用了許多目前未知的工具和技術。不同的加載程序和下載器集合可能代表了該攻擊者的初始攻擊媒介,該組織已在該地區活動多年。

本報告中描述的各種工具都是定制的,僅使用一次,因此,它們與任何已知的工具集沒有明顯的代碼重疊,甚至彼此之間也沒有。然而,它們都與一組基礎設施有關,其中一部分與一個名為todddycat的攻擊者有關。

CurLog和CurLu加載程序使用的兩個域是fopingu[.]com和rtmcsync[.]com,它們在該文章中提到過。這兩個域也顯示了解析到149.28.28[.]159的歷史。

雖然這些重疊並不一定表明“STAYIN’ ALIVE ”活動的幕後主使與ToddyCat的幕後主使是同一組織,但很可能兩者有共同的聯繫,共享相同的基礎設施。

總結如上所述,一次性加載程序和下載器的使用正變得越來越普遍,甚至在老練的攻擊者中也是如此;一次性工具的使用使得檢測和分析工作也在變得更加困難,因為它們經常被替換,並且可能從頭開始編寫,這在“STAYIN’ ALIVE ”活動中很明顯。

本文回顧了針對亞洲電信行業的攻擊活動中使用的一些工具,通過基礎設施分析不同後門之間的聯繫時,我們還發現了與ToddyCat的潛在聯繫,這是一個在該地區活動的已知行動者。雖然我們不能完全肯定ToddyCat是這次活動的幕後組織,但很明顯,兩者都使用了相同的基礎設施攻擊求類似的目標。