Satacom下載程序,也稱為LegionLoader,是2019年出現的一個著名的惡意軟件家族。該惡意軟件利用查詢DNS服務器的技術獲取base64編碼的URL,以便接收當前由Satacom傳播的另一惡意軟件家族的下一階段。 Satacom惡意軟件通過第三方網站傳播,其中一些網站本身不提供Satacom,而是使用合法的廣告插件,攻擊者濫用這些插件將惡意廣告注入網頁。網站上的惡意鏈接或廣告將用戶重定向到惡意網站,如虛假的文件共享服務。
我們將在本文介紹最近與Satacom下載程序相關的惡意軟件傳播活動。 Satacom下載程序釋放的惡意軟件的主要目的是通過對目標加密貨幣網站進行web注入,從受害者的賬戶中竊取比特幣。該惡意軟件試圖通過為基於Chromium的網絡瀏覽器安裝擴展來實現這一點,該瀏覽器隨後與C2服務器通信,其地址存儲在比特幣交易數據中。
該惡意擴展具有各種JS腳本,用於在用戶瀏覽目標網站時執行瀏覽器操作,包括枚舉和對加密貨幣網站的操作。它還能夠操作一些電子郵件服務的外觀,如Gmail、Hotmail和雅虎,以隱藏其與電子郵件中顯示的受害者加密貨幣的活動。
Satacom技術分析最初的攻擊始於ZIP壓縮文件。它是從一個似乎模仿軟件門戶的網站下載的,該網站允許用戶免費下載他們想要的(通常是破解的)軟件。該壓縮包包含幾個合法DLL和一個惡意Setup.exe文件,用戶需要手動執行這些文件才能啟動攻擊鏈。
各種類型的網站被用來傳播惡意軟件。其中一些是帶有硬編碼下載鏈接的惡意網站,而另一些則通過合法的廣告插件注入了“下載”按鈕。在這種情況下,即使是合法的網站也可能在網頁上顯示惡意的“下載”鏈接。在撰寫本文時,我們看到QUADS插件被濫用來傳播Satacom。
帶有嵌入式QUADS廣告插件的網站
該插件被濫用的方式與其他廣告網絡被濫用惡意廣告的方式相同:攻擊者推廣看起來像“下載”按鈕的廣告,並將用戶重定向到攻擊者的網站。
WP QUADS廣告插件內的網站的內容
用戶點擊下載按鈕或鏈接後,會有一系列重定向,自動引導他們通過各種服務器到達偽裝成文件共享服務的網站,以傳播惡意軟件。在下面的截屏中,我們可以看到作為重定向鏈最終目的地的網站示例。
虛假“文件共享”服務
用戶下載並提取大約7MB大小的ZIP文件後,會顯示一些二進製文件、EXE和DLL文件。 DLL是合法的庫,但“Setup.exe”文件是惡意二進製文件。它大約是450MB,但是填充了大量空字節,使其更難以分析。未添加空字節的文件的原始大小約為5MB,它是一個Inno-Setup類型的文件。
添加到PE文件的空字節
Inno-Setup安裝程序通常是這樣的:在運行時,二進製文件將子安裝程序提取到一個名為“Setup.tmp”的臨時文件夾中。然後,它運行子安裝程序“Setup.tmp”文件,該文件需要與主安裝程序通信,參數指向原始“Setup.exe”及其包的位置,以便檢索用於下一步安裝的“Setup.exe”文件。
對於Satacom安裝程序來說,Setup.tmp文件一旦運行,就會在Temp目錄中創建一個新的PE DLL文件。創建DLL後,子安裝程序將其進行自我加載,並從DLL運行一個函數。
然後,它解密Satacom的有效負載,並創建一個新的“explorer.exe”子進程,以便將惡意軟件注入“explorer.exe”進程。
由此,研究人員可以得出結論,惡意軟件在遠程“explorer.exe”進程上執行一種常見的進程注入技術,稱為進程空心化(process hollowing)。這是一種用於逃避檢測的技術。
注入“explorer.exe”進程的惡意負載使用RC4加密實現來解密其配置數據,通信字符串以及受害者設備上其他釋放的二進製文件的數據,加密的數據存儲在惡意負載中。
惡意軟件在每一步都使用不同的硬編碼密鑰來解密數據。惡意軟件使用四個不同的RC4密鑰來執行其操作,首先解密HEX字符串數據,將其用於其初始通信目的。
RC4密鑰(左圖)和加密的HEX字符串(右圖)
在上面的截屏中,左側窗格將四個RC4硬編碼密鑰顯示為HEX字符串,在右側窗格中,我們可以看到使用RC4“config_strings”密鑰解密的HEX字符串以獲得用於與C2通信的第一次初始化的字符串。如果我們自己使用密鑰解密字符串,我們會得到截屏中顯示的結果。
一旦HEX字符串被解密,“explorer.exe”將啟動其第一次通信。為此,它通過Google DNS(8.8.8.8,另一個解密的字符串)執行對don-DNS[.]com(解密的HEX字符串)的DNS請求,並查詢TXT記錄。
通過谷歌在don-dns[.]com上查詢TXT記錄
一旦請求完成,DNS TXT記錄將作為另一個base64編碼的RC4加密字符串“ft/gGGt4vm96E/jp”接收。由於我們擁有所有的RC4密鑰,我們可以嘗試使用“dns_RC4_key”解密字符串,並獲得另一個URL。這個URL是有效負載的實際下載位置。
TXT記錄的解密字符串
有效負載:惡意瀏覽器擴展Satacom下載程序將各種二進製文件下載到受害者的設備上。在本次活動中,研究人員觀察到一個PowerShell腳本正在下載,該腳本安裝了一個惡意的基於Chromium的瀏覽器擴展,該擴展針對Google Chrome、Brave和Opera。
擴展安裝腳本負責從第三方網站服務器下載ZIP壓縮文件中的擴展。 PowerShell腳本將壓縮文件下載到計算機的Temp目錄,然後將其提取到Temp目錄中的文件夾中。
之後,腳本將在“桌面”、“快速啟動”和“開始菜單”等位置搜索每個目標瀏覽器的快捷方式的可能位置。它還配置瀏覽器安裝文件的位置和擴展插件在計算機上的位置。
最後,PS腳本將依次搜索上述位置的任何鏈接(.LNK)文件,並修改所有現有瀏覽器快捷方式的“Target”參數,標記為“-load extension=[pathOfExtension]”,以便快捷方式加載安裝了惡意擴展的瀏覽器。
帶有擴展參數的Chrome快捷方式
執行此操作後,腳本將關閉設備上可能運行的任何瀏覽器進程,以便受害者下次打開瀏覽器時,擴展程序將加載到瀏覽器中,並在用戶瀏覽互聯網時運行。
這種擴展安裝技術允許攻擊者在不知情的情況下將插件添加到受害者的瀏覽器中,而無需將其上傳到官方擴展商店,如Chrome商店,該商店要求插件滿足商店的要求。
擴展安裝PowerShell腳本
惡意擴展分析安裝擴展後,我們可以通過檢查存儲在擴展目錄中的特定文件來分析其功能和特性。如果我們看一下'manifest.json'文件的第一行,我們會發現擴展插件通過將插件命名為“Google Drive”來偽裝自己,所以即使用戶訪問瀏覽器插件,他們也只能看到一個名為“Google Drive”的插件,它看起來就像是安裝在瀏覽器中的另一個標準Google擴展插件。
manifest.json文件設置
當用戶瀏覽時,另一個總是在後台運行的惡意擴展文件是“background.js”,它負責初始化與C2的通信。如果我們仔細查看JavaScript代碼,我們會在腳本底部發現一個有趣的函數調用,其中包含一個字符串變量,該變量是比特幣錢包的地址。
Background.js腳本片段
查看腳本的代碼,我們可以得出結論,擴展將從硬編碼的URL中獲取另一個字符串,腳本將比特幣地址插入其中。 JavaScript接收JSON格式的數據,顯示錢包的交易活動,然後在最新的交易詳細信息中查找特定的字符串。
詳細JSON
頁面上有兩個字符串,其中包含C2地址。 “script”字符串是包含惡意軟件C2主機的HEX字符串,“addr”字符串是Base58編碼的C2地址。使用特定錢包的最後一筆加密貨幣交易來檢索C2地址的原因是,攻擊者可以隨時更改服務器地址。此外,這種技巧使禁用惡意軟件與其C2服務器的通信變得更加困難,因為禁用錢包比阻止或禁止IP或域要困難得多。如果C2服務器被阻止或關閉,攻擊者可以通過執行新事務將“script”或“addr”字符串更改為不同的C2服務器。由於擴展總是檢查這些字符串來檢索C2,因此如果它發生了更改,它總是會請求新的字符串。
從交易明細中解碼C2地址
該擴展有幾個其他腳本,它們負責初始化接收到的命令,並在檢索到C2地址後發揮作用,因為這些腳本需要從C2獲得一些重要信息。例如,C2保存比特幣地址,當比特幣從受害者的錢包轉移到攻擊者的錢包時將使用該地址。
攻擊者的比特幣錢包地址
為了獲得受害者的加密貨幣,攻擊者在目標網站上使用web注入。 web注入腳本也是C2在擴展與之聯繫後提供的。在下面的截屏中,我們可以看到來自擴展的“injections.js”腳本,它從C2服務器獲取web注入腳本。
injections.js腳本
在插件與C2服務器聯繫後,服務器會使用將在目標網站上使用的web注入腳本進行響應。
C2服務器的Webinject腳本
如果我們仔細看一下腳本,就可以看到攻擊者針對的是各種網站。在上面顯示的腳本版本中,我們可以看到它針對的是Coinbase, Bybit, KuCoin, Huobi和Binance用戶。
由於C2中的腳本可以隨時更改,攻擊者可以添加或刪除其他web注入目標,也可以開始以比特幣以外的加密貨幣為目標,這使得該擴展非常動態,並允許攻擊者通過更改腳本來控制惡意擴展。
查看腳本,我們可以看到擴展在目標網站上執行各種操作。例如,它能夠檢索受害者的地址、獲取賬戶信息、繞過2FA等等。此外,它能夠將比特幣從受害者的錢包轉移到攻擊者的錢包。
web注入腳本中的函數
查看完整的web注入腳本,我們可以得出結論,其思路是從安裝了惡意擴展的受害者那裡竊取比特幣。該擴展程序對賬戶執行各種操作,以便使用web注入腳本遠程控制賬戶,最終該擴展程序試圖將比特幣提取到攻擊者的錢包中。為了規避交易的雙因素身份驗證設置,web注入腳本使用了針對此保護技術的繞過技術。
從web注入腳本中提取比特幣函數的代碼段
在竊取加密貨幣之前,擴展程序與C2服務器進行通信,以獲得最小比特幣值。然後,它將這個值與目標錢包中的實際金額進行比較。如果錢包中包含的加密貨幣少於C2收到的最低金額,則不會從中提取任何加密貨幣。
C2的最小金額
在竊取比特幣之前,該腳本還執行其他幾項檢查。例如,它還檢查比特幣與美元的匯率。當目標錢包中的比特幣金額符合C2檢查時,腳本執行取款功能,從受害者那裡竊取比特幣。
執行餘額檢查
除了竊取比特幣之外,惡意擴展還會執行其他操作來隱藏其活動。
例如,惡意擴展包含針對三種不同電子郵件服務的腳本:Gmail、Hotmail和Yahoo,其思路是隱藏惡意擴展執行的交易的電子郵件確認。
一旦受害者到達電子郵件服務的頁面,每個腳本都會對電子郵件進行可視化更改。它搜索預定義的電子郵件標題和內容,當找到它們時,它只需通過將HTML代碼注入郵件正文來向受害者隱藏它們。因此,受害者不知道進行了將加密貨幣轉移到攻擊者錢包的特定交易。
針對Gmail的擴展JS
此外,該擴展程序可以操作目標網站的電子郵件線程。因此,如果受害者從Binance等網站打開一個線程,它可以更改電子郵件的內容,並顯示一個看起來與真實電子郵件線程完全相似的虛假電子郵件線程。它還包含所需字符串的佔位符,擴展插件可以將這些字符串注入到消息頁面的內容中。
偽造電子郵件線程模板
惡意擴展有許多其他JavaScript,它能夠執行其他操作。例如,它可以通過瀏覽器提取信息,如係統信息、cookie、瀏覽器歷史記錄、打開的選項卡的截屏,甚至可以接收來自C2服務器的命令。
JavaScript:從C2(左圖)請求命令並進行截屏(右圖)
擴展的目的是竊取比特幣並操作目標加密貨幣網站和電子郵件服務,使惡意軟件盡可能隱秘進行,這樣受害者就不會注意到任何有關欺詐交易的信息。由於用於通過特定比特幣錢包的最後一筆交易檢索C2服務器的技術,該擴展可以更新其功能,該技術可以隨時通過對該錢包進行另一筆交易來修改。這允許攻擊者將域URL更改為其他URL,以防被殺毒軟件禁止或阻止。
受害者分析此活動針對世界各地的個人用戶,根據觀察,2023年第一季度,以下國家的用戶最常被攻擊:巴西、阿爾及利亞、土耳其、越南、印度尼西亞、印度、埃及和墨西哥。
總結Satacom是一個下載程序,它仍在運行活動,並由背後的攻擊者開發。這個攻擊者繼續使用各種技術傳播惡意軟件家族,例如通過WordPress網站的廣告插件進行廣告注入。
最近傳播的惡意軟件是基於Chromium的瀏覽器的側載擴展,它在瀏覽器中執行操作,以操作目標加密貨幣網站的內容。這種惡意擴展的主要目的是從受害者那裡竊取加密貨幣,並將其轉移到攻擊者的錢包中。
此外,由於它是一個瀏覽器擴展,因此可以安裝在各種平台上基於Chromium的瀏覽器中。儘管本文中描述的惡意擴展的安裝和攻擊鍊是特定於Windows的,但如果攻擊者想要針對Linux和macOS用戶,只要受害者使用基於Chromium的瀏覽器,他們就可以很容易發起攻擊。
Recommended Comments