Jump to content

WinRAR和curl根據研究人員的一些監控日誌,攻擊者濫用安裝的WinRAR二進製文件和上傳的curl可執行文件來竊取文件(下圖顯示了執行的命令)。注意,可執行文件log.log是一個合法的curl二進製文件。所有洩露的數據都被收集並發送回攻擊者控制的FTP(文件傳輸協議)服務器。

35.png

使用WinRAR和curl洩露數據

在某些示例中,研究人員偶然發現了FTP服務器的帳戶和密碼。在檢查FTP服務器後,研究人員了解到攻擊者主要專注於敏感和機密文件,其中大部分都經過壓縮並使用密碼保護。根據觀察,這些文件是通過對受害者的主機名和磁盤驅動器進行分類來組織的。

36.png

有被盜文件的FTP服務器

HackTool.Win32.NUPAKAGE除了眾所周知的合法工具外,攻擊者還製作了高度定制的用於洩露的工具。研究人員將這個惡意軟件命名為“NUPAKAGE”,該名稱源自其唯一的PDB字符串D:\Project\NEW_PACKAGE_FILE\Release \NEW_PACKAGE_FILE.PDB。

NUPAKAGE惡意軟件需要一個唯一的密碼才能執行,被竊取的數據被封裝在自定義文件格式中。攻擊者似乎在不斷更新該工具,以提供更大的靈活性並降低檢測的可能性,包括添加更多的命令行參數和混淆機制。默認情況下,它只收集文件,包括具有以下擴展名的文件:

doc

.docx

.xls

.xlsx

.ppt

.pptx

.pdf

它避免收集文件名以“$”或“~”開頭的文件,因為這些類型的文件通常要么是系統生成的臨時文件,要么是偽裝成誘餌文件的PE文件。

此工具的用法如下:

37.png

NUPAKAGE惡意軟件的參數

每一個NUPAKAGE惡意軟件都需要一個唯一的密碼作為它繼續執行的首個參數。如下圖所示,它首先檢查密碼是否存在。否則,惡意軟件執行過程將終止。在檢測過程中,研究人員觀察到每個惡意軟件中都有不同的密碼。

38.png

NUPAKAGE中的密碼檢查例程

39.png

NUPAKAGE中的密碼

執行後,NUPAKAGE將釋放xxx.zip和xxx.z兩個文件。 xxx.zip文件是一個日誌文件,其虛假zip標頭以0x0偏移量為前綴,佔用了前0x100個字節。從偏移量0x100開始,在XOR操作中使用單個字節對日誌記錄字符串進行加密,如下圖所示。

40.png

原始日誌文件(頂部),解密後的日誌文件(底部)中顯示純文本

以其中一個執行結果為例,保存了被洩露數據的大部分信息,包括原始文件路徑、原始文件大小和壓縮文件大小。研究人員認為攻擊者利用它來進一步追踪哪些文件被處理過。對於安全研究人員來說,這個日誌文件還有助於揭示有多少數據被洩露,並提供有關影響範圍的信息。

41.png

擴展名為.z的文件是一個自定義文件格式的洩露數據blob。 NUPAKAGE惡意軟件首先隨機生成一個密鑰blob,密鑰在自定義算法中加密。之後,它將加密的密鑰blob存儲到擴展名為.z的文件的前0x80字節中。從偏移量0x80開始,存在一個包含所有已過濾數據的長數組。

洩露文件中的大部分信息都會被保存,例如MD5哈希、文件名長度、壓縮文件大小、原始文件大小、文件名和文件內容。為了分離文件blob,它在每個blob的末尾放置一個唯一的字節序列,55 55 55 55 AA AA AA AA FF FF FF 99 99 99 99。

42.png

NUPAKAGE生成的擴展名為.z的文件中的自定義格式

43.png

NUPAKAGE生成的擴展名為.z的文件中的自定義格式描述

值得一提的是,在NUPAKAGE的最新版本中,越來越多的混淆被用來阻止靜態分析。

44.png

NUPAKAGE最新版本的垃圾代碼

HackTool.Win32.ZPAKAGEZPAKAGE是另一個用於封裝文件的自定義惡意軟件的示例;它的工作原理也與NUPAKAGE類似。它還需要一個密碼來確保它按預期使用。在下圖所示的示例中,密碼是“start”。

45.png

一個ZPAKAGE密碼的示例

ZPAKAGE也支持命令行參數,但它擁有的函數比NUPAKAGE少。該工具的使用方法如下:

46.png

ZPAKAGE支持的參數

ZPAKAGE也表現出與NUPAKAGE相似的行為。例如,它還避免使用名稱以“$”或“~”開頭的文件。此外,它還生成兩個文件,一個擴展名為.z,另一個擴展名稱為.zip。擴展名為.z的文件是已過濾的數據blob,擴展名為.zip的文件是日誌文件。

在生成的擴展名為.z的文件中,被洩露的文件將通過zlib算法進行壓縮,以最小化文件大小。它還定義了用於存儲的布爾字段“type”,無論文件是否被壓縮。如果壓縮後的文件大小小於原文件,則類型為1。否則,類型將被設置為0,並將選擇原始文件內容,而不是壓縮文件內容。無論文件內容是否被壓縮,它都將在異或操作中使用特定字符串qwerasdf對其進行加密。

47.png

ZPAKAGE生成的擴展名為.z的文件中的自定義格式

48.png

ZPAKAGE生成的擴展名為.z的文件中的自定義格式描述

檢測惡意攻擊自2022年10月以來,攻擊者已經更改了TTP,並開始使用受密碼保護的文件。例如,研究人員在VirusTotal上發現了一個TONEINS示例(SHA256: 8b98e8669d1ba49b66c07199638ae6012adf7d5d93c1ca3bf31d6329506da58a),該示例不能鏈接到“關係”選項卡中的任何其他文件。但是,研究人員發現在“行為”選項卡中打開了兩個文件,文件名分別為~$Evidence information.docx和~$List of terrorist personnel at the border.docx,下一階段的有效負載通常嵌入在虛假文件文件中。

49.png

打開的TONEINS示例文件

下圖顯示了在VirusTotal上查詢“邊境恐怖分子人員名單”的搜索結果。第一個文件是研究人員在本節前面提到的TONEINS DLL示例,而第二個文件是一個正常的可執行文件,最初名為adobe_licensing_wf_helper.exe,顯然是上傳到VirusTotal的,文件名為List of terrorist personnel at the border.exe。

50.png

在VirusTotal上搜索字符串邊境恐怖分子名單的結果

51.png

提交adobe_licensing_wf_helper.exe

第三個文件是受密碼保護的文件,它有完全相同的文件名List of terrorist personnel at the border[1].rar。但由於沒有密碼,研究人員無法解壓它。但它在“Relations”選項卡中有一個有趣的父項執行,這是一個名為Letter Head.docx的文件。

52.png

terrorist personnel at the border[1].rar的父項執行

在Letter Head.docx文件中,有一個谷歌驅動器鏈接和一個密碼。內容本身與緬甸聯邦共和國政府有關,並用緬甸語書寫。

53.png

Letter Head.docx

檢查下載鏈接後,研究人員發現它與之前在VirusTotal上發現的受密碼保護的文件相同。

54.png

谷歌驅動器鏈接截圖

新的攻擊載體流與之前介紹的類似,受害者將收到一個包含谷歌驅動器鏈接和相應密碼的誘餌文件,而不是嵌入在電子郵件中的文件下載鏈接,並與之交互。

至於為什麼密碼保護的文件有父項執行,通過在VirusTotal上檢查Letter Head.docx的沙箱執行行為,研究人員發現VirusTotal沙箱會選擇文件中嵌入的任何鏈接。這將導致打開帶有文件下載提示的Internet Explorer窗口。

55.png

VirusTotal上Letter Head.docx文件的沙盒截圖

當顯示下載提示時,甚至在用戶選擇“保存”按鈕之前,Internet Explorer將在後台靜默地下載該文件。

結果,該文件將被保存到名為“INetCache”的緩存文件夾中,之後會看到一個被釋放的RAR文件:

C:\Users\user\AppData\Local\Microsoft\Windows\INetCache\IE\R0IAZP7Z\List%20of%20terrorist%20personnel%20at%20the%20border[1].rar.

由於RAR文件是由Internet Explorer自動下載的,因此Letter Head.docx將被視為它的執行父文件。

56.png

在VirusTotal上被釋放的Letter Head.docx文件

為了找到嵌入谷歌驅動器鏈接的其他受密碼保護的文件,研究人員嘗試使用以下查詢:

57.png

該查詢可以查找任何加密的RAR文件,其文件足夠大,路徑中包含文件夾名稱“INetCache”。幸運的是,研究人員發現了另一個帶有文件執行父級文件“Notic(20221010)(final).docx”的RAR文件,它原來是一個TONESHELL文件。

58.png

歸檔文件的關係

59.png

文件Notic(20221010)(final).docx的內容

有趣的是,在迄今為止收集的所有示例中,攻擊者使用以相同格式(DD-MM-YYYY)編寫的日期和時間字符串作為提取密碼。

連接點在調查過程中,研究人員觀察到一些數據點與同一個人有關。例如,研究人員在收集的不同惡意軟件樣本中發現了一個特定的名稱“TaoZongjie”。此外,Avast在2022年12月的報告中提到的名為“YanNaingOo0072022”的GitHub存儲庫託管了多個惡意軟件,包括TONESHELL。研究人員還觀察到不同惡意軟件之間的混淆方法有相似之處。

用戶“TaoZongjie”分析研究人員發現一些樣本共享相同的特殊字符串/名稱“TaoZongjie”,包括Cobalt Strike惡意軟件,TONESHELL CC服務器上的Windows用戶,以及TONESHELL彈出對話框中顯示的消息。

調查始於啟用了遠程桌面服務的TONESHELL CC服務器38[.]54[.]33[.]228,研究人員發現其中一個Windows用戶叫“TaoZongjie”。

60.png

38[.]54[.]33[.]228中的Windows用戶

在尋找與此次活動相關的樣本時,研究人員看到了一條發佈於2021年4月的關於Cobalt Strike的推文。乍一看,Cobalt Strike的使用方式與此活動類似,包括使用DLL側加載,使用谷歌驅動器鏈接進行傳播,並創建日程任務。

61.png

關於Cobalt Strike的推特

感染流程如下:歸檔文件通過Google Drive鏈接傳播,其中包含一個合法的EXE文件、一個惡意的DLL文件和一個用緬甸語編寫的誘餌文件。一旦惡意DLL被側加載,它將釋放嵌入DLL文件的資源部分的合法EXE文件和惡意DLL文件。在這個示例中,字符串By:Taozongjie被用作事件名稱。

62.png

Cobalt Strike的攻擊流

63.png

示例中的特殊字符串

在一個TONEINS示例(SHA256: 7436f75911561434153d899100916d3888500b1737ca6036e41e0f65a8a68707)中,研究人員還觀察到用於事件名稱的字符串taozongjie。

64.png

在TONEINS創建活動taozongjie

在另一個TONESHELL示例(SHA256: d950d7d9402dcf014d6e77d30ddd81f994b70f7b0c6931ff1e705abe122a481a)中,有一些無關緊要的導出函數,它們將通過消息框出現,字符串為Tao或zhang!儘管這兩個字符串的拼寫方式與taozongjie不完全相同,但它們的拼寫仍然相似。

65.png

TONESHELL的消息框

根據研究人員在不同樣本中發現的情況,研究人員假設taozongjie可能是攻擊者使用的標誌之一。

GitHub用戶“YanNaingOo0072022”分析在Avast和ESET報告中都提到了GitHub用戶“YanNaingOo0072022”。用戶的存儲庫託管各種惡意軟件,包括最新版本的TONEINS、TONESHELL和一個名為MQsTTang的ESET新工具QMAGENT。在撰寫本文時,這個GitHub空間仍然可以訪問,有五個存儲庫:“View2015,” “View2016,” “1226,” “ee,” 和“14.” 。其中,“View2015” 和“View2016”是空的。

66.png

YanNaingOo0072022 GitHub空間

1226此存儲庫中的歸檔文件都相同,但具有不同的文件名。研究人員認為這些文件是針對不同的受害者的。

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...