今天小編分享的互聯網經驗:Satacom通過浏覽器擴展竊取加密貨币,歡迎閲讀。
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 的浏覽器,他們就可以很容易發起攻擊。