Jump to content

一個Mac 挖礦軟件被發現在其例行程序和I2P 網絡中使用開源組件來隱藏其流量。我們深入研究了這種惡意軟件的舊版本,並分析了最新版本。

挖礦軟件是攻擊者最喜歡應用的惡意軟件類型,一旦安裝在受害者的設備上,它們幾乎不需要維護。攻擊者可以讓挖礦軟件偽裝成合法的應用程序,誘騙易受攻擊的用戶在他們的系統上運行它。在這篇文章中,我們會介紹2022 年1 月上旬發現的貨幣挖礦軟件樣本的分析結果。該樣本使用了幾個經過修改的開源組件,攻擊者對其進行了修改。該樣本還被發現使用i2pd(又名I2P 守護程序)來隱藏其網絡流量。 I2pd 是隱形Internet 協議或I2P 客戶端的C++ 實現。 I2P 是一個通用匿名網絡層,它允許匿名的端到端加密通信,攻擊者不會透露他們的真實IP 地址。以前,其他Mac 惡意軟件樣本(Eleanor、DOK、Keranger)使用Tor 來隱藏其網絡活動,因此i2pd 的這種用法是最新出現的。

攻擊過程主要惡意軟件樣本被檢測為Coinminer.MacOS.MALXMR.H (SHA 256 9518906dc416de6c6a5d17479244cf698b062c1d6b4425d86ee6895ce66c7c39)。這是一個Mach-O 文件,很早就被多家供應商標記,因為它包含與XMRig 相關的字符串,這些字符串很容易被Yara 等採購工具捕獲。 XMRig 是用於挖掘門羅幣加密貨幣的命令行應用程序,由於其可用性和易用性,通常被其他惡意軟件用於執行加密挖掘。

發現主要的Mach-O 樣本是臨時簽名的,如下圖所示。這意味著Mach-O 二進製文件不會輕易在Mac 系統上運行,並且可能會被Gatekeeper 阻止,這是一個內置的安全機制強制執行代碼簽名的macOS 功能。

Mac%20Coinminer%201.webp.jpg

Mach-O 樣本的數字簽名,已經過臨時簽名

我們懷疑Mach-O 樣本以DMG(一種用於壓縮安裝程序的Apple 圖像格式)封裝到Adobe Photoshop CC 2019 v20.0.6。但是,未成功獲取父文件。我們根據下圖中的代碼片段得出了這個結論,該代碼片段可以在其刪除的文件中找到。在此代碼中,示例嘗試啟動/Volumes 路徑中不存在的文件。需要注意的是,對於DMG 文件,當在macOS 上雙擊時,它們默認安裝在/Volumes 目錄中。

2.png

嘗試啟動不存在文件的代碼片段

安裝貨幣挖礦軟件發現主要的Mach-O 樣本(檢測為Coinminer.MacOS.MALXMR.H)包含幾個嵌入式Mach-O 文件。執行時,它利用AuthorizationExecuteWithPrivileges API 通過提示用戶輸入憑據來提升權限。

Mac%20Coinminer%203.webp.jpg

使用AuthorizationExecuteWithPrivileges API 通過提示用戶輸入憑據來提升權限的代碼片段

Mac%20Coinminer%204.webp.jpg

測試期間顯示的用戶提示

然後,該示例會將以下文件放入系統中:

/tmp/lauth

/usr/local/bin/com.adobe.acc.localhost

/usr/local/bin/com.adobe.acc.network

/usr/local/bin/com.adobe.acc.installer.v1用於持久化的lauth 文件lauth 是Mach-O 文件,負責為惡意軟件的持久性例程創建以下文件:/Library/LaunchDaemons/com.adobe.acc.installer.v1.plist。正是這個文件在每次啟動時啟動/usr/local/bin/com.adobe.acc.installer.v1。

5.png

LaunchDaemon plist 文件

該示例還嘗試啟動以下不存在的文件:/Volumes/Adobe Photoshop CC 2019 v20.0.6/Adobe Zii 2019 4.4.2.app/Contents/MacOS/.Patch。

6.png

lauth Mach-O 文件的代碼片段

用於啟動二進製文件的com.adobe.acc.installer.v1 文件com.adobe.acc.installer.v1 文件是com.adobe.acc.installer.v1.plist 在每次啟動時啟動的Mach-O 二進製文件。執行後,它會休眠60 秒,然後啟動以下Mach-O 二進製文件:

/usr/local/bin/com.adobe.acc.localhost

/usr/local/bin/com.adobe.acc.network

7.png

com.adobe.acc.installer.v1 的代碼片段

com.adobe.acc.localhost 挖礦示例Mach-O 二進製文件com.adobe.acc.localhost 負責挖礦示例。該文件是經過修改的XMRig 命令行應用程序。啟動應用時在參數中輸入--help 或--version 即可看到。 --version 參數顯示XMRig 二進製文件的版本,--help 參數顯示可以使用的參數的列表和說明。

8.png

在示例上使用--version 參數時顯示的命令行信息

XMRig 是一個開源、跨平台的命令行應用程序,用於挖掘加密貨幣。用戶可以從命令行輸入他們的挖礦服務器地址以及挖礦服務器的用戶名/密碼作為參數。或者,用戶也可以加載JSON 格式的配置文件,而不是使用參數。

9.png

XMRig 應用程序的命令行選項取自XMRig 網站,https://xmrig.com/docs/miner/command-line-options

對於此示例,我們使用從https://xmrig.com/下載的XMRig 對文件進行了交叉檢查,我們能夠在com.adobe.acc.localhost 二進製文件中觀察到以下JSON 格式的配置文件。我們採購的其他XMRig 二進製文件中不存在此嵌入式配置文件。

10.png

com.adobe.acc.localhost 中嵌入的JSON 格式的配置文件

以下是嵌入式配置文件中的以下值得注意的條目:

挖礦服務器:127.0.0.1:4545

用戶名:pshp

密碼:x

需要注意的是,挖礦服務器地址似乎無效,因為127.0.0.1 地址是本地主機地址。

11.png

惡意軟件樣本(右)和XMRig 二進製文件(左)的比較。請注意惡意軟件樣本使用嵌入式JSON 格式的配置文件。

將/usr/local/bin/com.adobe.acc.network 識別為修改後的i2pd 應用程序在檢查com.adobe.acc.network Mach-O 文件中的可讀字符串後,我們能夠確定它是經過修改的i2pd 應用程序。使用--version 或--help 參數時,命令行中的以下顯示支持這一發現。

12.png

在示例上使用--version 參數時顯示的命令行信息

如前所述,i2pd 是用C++(而不是Java)編寫的I2P 的開源替代實現。

I2P 是一個匿名網絡層(實現為混合網絡),可以躲避安全審查,進行點對點通信。匿名連接是通過加密用戶的流量(通過使用端到端加密)並通過分佈在世界各地的大約55000 台計算機的志願者運行網絡發送來實現的。 I2P 也可以看作是Tor 的替代方案。

我們將惡意軟件二進製文件與從該鏈接下載的相同版本的官方二進製文件進行了比較:https://github.com/PurpleI2P/i2pd/releases/download/2.27.0/i2pd_2.27.0_osx.tar.gz。

由於二進製文件大小約為10 MB,因此查找惡意軟件例程具有挑戰性。正因為如此,我們將注意力集中在官方版本中沒有的可讀字符串和代碼上。然後我們能夠找到以下可疑字符串和相關代碼片段:e4ppgzueqjiam3qvhzffwraakvcgzrjp5dzl3xzv24w6q5rjr7kq.b32.i2p:4545I。

13.png

com.adobe.acc.network 中包含配置信息的代碼片段。請注意,圖像經過編輯以便於查看。

以下信息取自上圖:

14.png

我們查看了i2pd 文檔,我們能夠從以下鏈接中找到一些有用的信息:https://i2pd.readthedocs.io/en/stable/user-guide/tunnels/#client-tunnels。

15.png

i2pd 文檔的屏幕截圖

基於上述信息,我們可以得出結論,到127.0.0.1:4545 的XMRig 流量將通過i2pd 隧道傳輸到e4ppgzueqjiam3qvhzffwraakvcgzrjp5dzl3xzv24w6q5rjr7kq.b32.i2p:4545。我們可以使用lsof 終端命令查看此連接。

16.png

lsof 命令顯示示例訪問的IP 地址和端口

需要注意的是,網站e4ppgzueqjiam3qvhzffwraakvcgzrjp5dzl3xzv24w6q5rjr7kq.b32.i2p:4545只能通過I2P訪問。

發現舊樣本我們使用TLSH、Yara 和其他工具在VirusTotal 和我們的樣本集合中尋找其他類似的樣本。我們能夠找到以下樣本,它們也使用i2pd 將流量隧道傳輸到I2P 網站以下載可能的惡意樣本。

17.png

在分析了較舊的樣本後,我們發現了某些相似之處:

這些樣本被懷疑偽裝成Adobe Photoshop 或Logic Pro X。

所有五個示例都使用i2pd 訪問同一個i2pd 下載服務器。

下載服務器託管多個文件。

一些樣本利用隨機文件名和零字節填充來逃避檢測。

觀察到四個樣品具有持久性常規,一個示例嘗試覆蓋已安裝的Adobe Photoshop 應用程序中的Mach-O 可執行文件。

懷疑所有樣本都封裝在DMG 文件中,因為這些樣本嘗試從默認掛載DMG 文件的/Volumes 目錄啟動或複制。

對於下載的後綴為“_md5”的文件,其內容預計為md5哈希。哈希值將與其他下載文件的md5 哈希值進行比較。如果它們不相等,帶有“_md5”後綴的文件將重試下載。

對於較舊的示例,創建了兩個隧道,但只使用了127.0.0.1:4546。最新的挖礦軟件樣本只創建了一個隧道:127.0.0.1:4545。

18.png

lsof 命令顯示了舊樣本訪問的IP 地址和端口

總結我們調查了一個使用多個個性化開源應用程序來增強其惡意程序的挖礦軟件樣本。我們發現,即使修改很小,它們似乎也很有效。我們還發現,該惡意軟件利用i2pd 將其網絡流量隱藏在未經訓練的人眼中,這與其他使用知名Tor 的惡意軟件不同。

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...