瞄準Web3.0數字錢包的攻擊活動分析
發布時間 2022-06-23一、概 述
近期,啟明星辰ADLab監測到了一起針對移動加密貨幣錢包的惡意攻擊活動,被攻擊的錢包平臺均以數字錢包為切入口,主打Web3.0跨鏈交易、NFT數字藏品交易、元宇宙等熱門領域的數字交易應用。Web3.0是基于區塊鏈技術、以用戶為主體的新型網絡生態。隨著Web3.0、虛擬數字人、NFT、元宇宙等新一代數字概念的興起,大量人才、資本涌入,原來以加密貨幣錢包為主業的公司將目光瞄準交易環節以支持Web3.0等新平臺的應用,而這種盲目而快速的投產,導致其開發的程序缺乏安全性,其中最關鍵的是這些APP并未做加固和防護,導致黑客對APP進行了惡意篡改,危害了交易環節的安全性。
我們本次發現的攻擊活動正是以錢包APP為主要目標,利用搜索引擎進行傳播的數字貨幣竊取活動,主要攻擊群體為中國區的用戶。我們發現在百度的默認推薦關鍵詞下,主流錢包“imToken”相關關鍵詞的搜索結果列表里排名前五的站點全部是黑客部署的仿冒網站(黑客可能對此類關鍵詞做了 SEO 優化),仿冒網站與官網高度相似。取得仿冒網站上的樣本后,我們通過分析和溯源發現這批攻擊活動最早可以追溯到今年2月份,并且被仿冒的對象還涉及到“Coinbase Wallet ”、“MetaMask wallet”和“TokenPocket”等主流的數字錢包應用。
二、攻擊分析
黑客采用的主要攻擊手段是代碼篡改和庫注入技術,分別應用Android和IOS平臺的錢包APP,對于Android平臺,黑客采用反編譯技術插入代碼,然后再編譯成為APK文件,由于IOS難以實現重編譯技術,所以黑客采用動態庫注入技術和Hook技術來實現。當受害者對錢包進行操作時,這些仿冒的APP就會偷偷地將對應加密貨幣錢包的“mnemonic phrase”(助記詞)回傳至黑客端點。錢包助記詞可以代替私鑰生成收幣地址、簽名交易,是用戶在區塊鏈世界資產的唯一憑證,誰擁有了助記詞,就擁有了對應地址上的資產。
圖1 攻擊流程圖
如圖1所示,攻擊者首先克隆并偽造“imToken” 、“Coinbase Wallet ”、“MetaMask wallet”、“TokenPocket”等數字錢包平臺的官方網站,然后利用百度、搜狗、搜搜等搜索引擎來使得這些仿冒網站出現在靠前的頁面(這些惡意應用程序通過客戶在百度等網絡爬蟲中識別的連接傳播,由于對 SEO 優化的智能處理,這些惡意應用程序的鏈接會到達百度等搜索站點中的熱門位置,從而使它們排名靠前)。這些出現首頁且靠前的搜索結果誘使受害者打開仿冒鏈接,并從這些仿冒網站下載安裝帶有惡意代碼的錢包應用。因為這些惡意應用與真實應用從UI和功能上來說完全相同,被惡意篡改的代碼只在特殊時機觸發并在后臺偷偷地上傳受害者的錢包助記詞,即使專業的使用者也很難辨別,攻擊者竊取到助記詞后,通過內部系統自動將相應的數字貨幣轉移到黑客自己的加密貨幣賬戶。
三、傳 播
我們發現,雖然黑客組織也通過社交媒體渠道、論壇等方式推廣其惡意應用,不過推廣仍以百度、搜狗、搜搜等搜索引擎渠道為主。攻擊者通過修改原始錢包,向其中添加惡意代碼,生成“imToken” 、“Coinbase Wallet ”、“MetaMask wallet”和“TokenPocket”這些數字錢包的后門版本。然后通過仿冒這些數字錢包的官方網站,再利用搜索引擎將這些仿冒網站排到靠前的頁面來傳播這些后門版本的應用。我們以百度搜索引擎為例進行說明:我們在百度搜索上輸入”imtoken”會出現默認搜索關鍵詞列表,隨機選“imtoken錢包APP下載網址”,搜索結果如圖2所示。
通過對第一頁的10個搜索結果進行分析驗證后,發現其中有7個屬于該組織的仿冒網站,甚至最靠前的5條結果中沒有一條屬于官方鏈接,全部都是仿冒網站,官方鏈接只排在第6的位置。
圖2 特定關鍵詞的搜索結果
我們再在關鍵字中加入官方下載如“imtoken官方下載”進行搜索時,情況稍微有所改善,但是依然容易誤導用戶訪問到仿冒網站。在首頁的前5搜索結果中,有2個是該黑客組織的仿冒站點。
圖3 特定關鍵詞的搜索結果
圖4是一些仿冒網站打開后的界面,圖5是imtoken的官方界面??梢钥吹?,攻擊者高度克隆了imtoken的官網界面來用于迷惑攻擊目標。
圖4 仿冒網站界面
圖5 官方網站界面
我們將某次搜索結果(每次搜索同樣的關鍵詞時,搜索結果都不完全一致)第一頁中前4個仿冒網站的相關數據列到表1。如果我們使用PC瀏覽器訪問仿冒頁面,點擊仿冒頁面中的立即下載按鈕,其會首先跳轉到中間地址,然后加載APP的托管地址(這些中間地址和托管地址每次會發生變化,我們僅列出某次訪問時的地址),提示用戶用手機掃描二維碼下載(如圖6所示);如果我們使用手機訪問仿冒頁面并點擊立即下載,則頁面會直接下載相對應的APK文件(Android)或者配置文件(iPhone),見圖7所示。
表1 4個仿冒網站的相關鏈接
圖7 Android和iPhone手機下載截圖
這些仿冒頁面是通過一個中間跳轉頁面加載得到的,我們以仿冒網站“https://www.xahazx.cn”為例進行說明:該頁面如圖8所示,不過如果我們向下拉該仿冒頁面,就可以看到中間跳轉頁面,圖9(注意右邊滾動條位置的變化)。
圖8 仿冒網站界面
圖9 中間跳轉網站界面
四、關聯分析
我們從最開始拿到的imToken樣本進行關聯分析,分別關聯到了該黑客組織利用克隆網站傳播惡意數字貨幣錢包“Coinbase Wallet ”和“MetaMask wallet”,另外雖然關聯到的惡意域名“tokenpocket.homes”不能訪問了,但是根據該黑客組織的攻擊特征,我們相信該域名曾用于分發惡意“TokenPocket”數字貨幣錢包。下面我們就此次的惡意錢包關聯分析進行介紹。
我們從捕獲到的imToken樣本開始關聯分析。此imToken 樣本 的下載地址為“https://lmtoken.earth/”(見圖10)
圖10 克隆網站
我們訪問該頁面,并使用burpsuite抓包,看到了該頁面代碼中的圖11一段代碼,該段代碼根據訪問設備的不同(Android、iPhone或PC端),展示不同的界面以引導受害者進行應用下載。
圖11 頁面代碼抓包
我們將不同的設備對應的下載地址,列到表2中??梢钥吹?,PC端和Android端對應的下載地址相同,均為“https://lmtoken.earth/apk/imToken-intl-v2.apk”,而iPhone端地址為“https://imtoken.dqpxhi.xyz/3g2uv”,該地址存放了下載惡意APP需要安裝的配置文件。
表2 不同的設備對應的下載地址
Android端訪問該仿冒網站的首頁截圖和下載截圖見圖12,iPhone訪問該仿冒網站首頁的截圖見圖13,我們點擊App Store下載,其會先從“https://imtoken.dqpxhi.xyz/3g2uv”下載配置文件,不過,該地址目前已經不能訪問了,所以我們僅列出了iPhone打開的界面。
圖12 仿冒網站的首頁截圖和下載截圖
圖13 iPhone打開的界面
我們以仿冒域名“lmtoken.earth”為線索進行關聯分析,如圖14所示:域名“lmtoken.earth”在VT上有的三條解析記錄,可以看到,該域名在今年2月27日被解析到的IP地址為“142.4.108.251”,3月23日被解析到的IP地址分別為“172.67.216.146”和“104.21.86.75”。
圖14 域名“lmtoken.earth”在VT上的解析記錄
在對這幾個IP地址分析后,我們發現IP地址“142.4.108.251”在2月27日關聯到如圖15的幾個可疑的域名,其中有3個域名被VT報毒,我們從關聯到的這幾個域名的字面意思,不難看出它們是用作偽造數字貨幣錢包 “Coinbase Wallet”、“MetaMask wallet”、“imToken ”和“TokenPocket”的仿冒域名。所以我們將進一步對這幾個域名進行分析。
圖15 關聯到的可疑域名
我們將這幾個域名和它們當前的訪問狀態列到表3中,從表3中,我們可以知道,除了域名“colnbase.earth”和“lmtoken.earth”目前可以正常訪問外,其他的域名都不可以正常訪問,其中域名“metamasks.homes”和“metamask.earth”還被Edge和Safari瀏覽器判定為惡意。
表3 相關域名
對這些域名進一步分析后,我們發現域名“colnbase.homes”關聯到惡意APP“CoinbaseWallet.apk”,而該惡意應用又關聯到多個惡意的域名,見圖16。經驗證域名“som-coinbase.com”和“token18.app”目前可以正常訪問,其他的域名已經失效。我們下面就針對這兩個還可以正常訪問的域名進行詳細分析。
圖16關聯到的域名
首先是域名“som-coinbase.com”,其首頁界面如圖17所示,可以看到其克隆的是數字貨幣錢包“Coinbase Wallet”的官方頁面。
圖17 克隆數字貨幣錢包“Coinbase Wallet”主頁
我們點擊“Download Coinbase Wallet”并使用burpsuite抓包分析,見圖18??梢钥吹?,網頁中的js代碼會根據訪問者的瀏覽器的“user agent”不同,將訪問者引導到不同的網站去下載惡意應用。
圖18 下載頁面抓包
我們將不同訪問環境對應的下載地址列到表4中,我們看到電腦端和安卓端的下載地址相同,都是“https://som-coinbase.com/coinbase.apk”,而蘋果端為“https://pk3md.com/3xrJL.html”,不過目前已經不能訪問。
表4 不同訪問環境對應的下載地址
我們分別使用Android手機和iPhone訪問網站“https://som-coinbase.com”。我們發現Chrome和Safari瀏覽器均給出了警告。繼續訪問后,界面相同,不同的是點擊下載按鈕后,android會下載APK到設備,而iPhone會下載配置文件到設備。因為iPhone端的頁面和Android相同,并且配置文件下載地址已經不能訪問,所以圖19僅列出Android端的主頁和下載截圖。
圖19 Android端主頁和下載界面
同樣地,我們接著分析域名“token18.app”,我們分別使用Edge和Safari瀏覽器訪問“https://token18.app”,結果發現Edge和Safari都給出了危險警告,見圖20。不過使用Firefox瀏覽器,則可以正常訪問該地址,仿冒主頁見圖20。
圖20 Edge和Safari都給出了危險警告
圖21 仿冒主頁
當我們點擊“Download now”按鈕后,網頁會判斷不同的訪問環境,以展示不同的下載界面,我們將不同的下載界面對應的下載地址列到表5中。
表5 不同的下載界面對應的下載地址
因為下載界面區別不大,我們僅將Android手機訪問后的下載頁面列到圖22中,Androids手機和iPhone端點擊下載后的界面如圖23所示,其中android端會直接下載APK到設備,而iPhone則下載兩個配置文件“embedded.mobileprovision”和“Vek3.mobileconfig”后安裝。
圖22 Android端的下載頁面
圖23點擊下載后的界面(Android和iPhone)
五、惡意代碼分析
我們下面以Android版本后門應用“imToken”和“Coinbase Wallet ”錢包為實例來分析攻擊者是如何竊取受害者的數字貨幣錢包“助記詞”的。
5.1 “imToken”錢包樣本分析
5.1.1 后門代碼分析
圖24 后門代碼
查看其交叉引用(見圖25),我們看到一共有兩處引用了該后門代碼,從字面意思“createIdentity”和“recoverIdentity”來看,分別是創建賬戶和恢復賬戶時調用該段后門代碼。字符串“aHR0cHM6Ly9hcGkudDBrZW5wb2NrZXQueHl6L3Uvc21zLw==”Base64解碼后為“https://api.t0kenpocket.xyz/u/sms/”,為惡意服務器的地址。后門代碼是在生成助記詞并以加密形式存儲之前被調用,這樣受害用戶在創建新錢包或將現有錢包添加到新安裝的惡意應用程序的時候,助記詞會被攔截并回傳到攻擊者控制的遠程服務器。
圖25 后門代碼的交叉引用
5.1.2 驗證回傳時機
我們在Android手機上安裝該惡意應用后運行,如圖26所示,該惡意應用打開后,用戶可以選擇創建賬戶或恢復賬戶來進入該應用。
圖26 惡意應用開始的界面
我們分別創建和恢復賬戶時,對該應用抓包(見圖27和圖28),可以看到,當受害者創建或恢復賬戶時,惡意應用將受害者的“助記詞”回傳到攻擊者控制的遠程服務器。
圖27 用戶創建賬戶時回傳助記詞
圖28 用戶恢復賬戶時回傳助記詞
5.2 “Coinbase Wallet ”錢包樣本分析
5.2.1 后門代碼分析
該樣本為后門版本的“Coinbase Wallet ”錢包應用,我們逆向該惡意樣本后,發現圖29的后門代碼,可以看到,其后門代碼和前文后門版本的“imToken”錢包非常相似。同樣,其作用是將竊取的助記詞發送到攻擊者控制的遠程服務器。該后門代碼有一處調用,調用函數為“saveMnemonicToStorage”(見圖30),字符串“aHR0cHM6Ly9jb2xuYmFzZS5ob21lcy91L3Ntcy8=”Base64解碼后為“https://colnbase.homes/u/sms/”,為惡意服務器的地址。
圖29 后門代碼
圖30 后門代碼的調用
我們查看函數“saveMnemonicToStorage”的交叉引用,發現總共調用該函數的地方有6處(見圖31,其中一個調用包含新建錢包和登錄錢包),經分析我們發現這些引用處分別是創建錢包、登錄錢包、修改生物識別許可(指紋ID,面部ID)、切換認證方式為生物識別許可、切換認證方式為PIN碼以及修改PIN碼。
圖31 函數“saveMnemonicToStorage”的交叉引用
同樣地,我們在Android手機上安裝該后門APP來驗證“助記詞”的回傳時機。驗證過程如下。
5.2.2 驗證回傳時機
5.2.2.1 新建錢包
打開“Coinbase Wallet”后門應用后,我們選擇新建錢包,按照操作步驟設置PIN碼后(見圖32),我們使用burpsuite抓包(見圖33),可以看到,惡意應用向惡意服務器地址“https://colnbase.homes/u/sms/”發送了竊取到的“助記詞”。
圖32 新建錢包
圖33 新建錢包時抓包
5.2.2.2 登錄錢包
如果我們選擇“I already have a wallet”,使用助記詞登錄錢包,按照操作步驟設置PIN碼后(見圖34),我們同樣使用burpsuite抓包(見圖35),可以看到,惡意應用向惡意服務器地址“https://colnbase.homes/u/sms/”發送了竊取到的“助記詞”。
圖34 登錄已有錢包
圖35 登錄已有錢包時抓包
5.2.2.3 修改PIN碼
接著,我們登錄成功錢包后,選擇修改PIN碼(見圖36),我們再次使用burpsuite抓包(見圖37),可以看到,惡意應用向惡意服務器地址“https://colnbase.homes/u/sms/”發送了竊取到的“助記詞”。
圖36 修改PIN碼
圖37 修改PIN碼時抓包
5.2.2.4 其他時機
我們也驗證了應用鎖定驗證方式切換的時候,后門代碼被調用的情況。當鎖定方式由PIN碼切換成生物特征ID(指紋ID或面部ID)或者由生物特征ID切換成PIN碼時,助記詞都會被回傳到攻擊者控制的遠程服務器(圖38僅列出由PIN碼切換為生物特征ID的界面)。另外,可能是由于我們的Android設備不具有面部ID,所以不能觸發修改生物驗證(指紋ID和面部ID之間切換)這種情況的后門代碼觸發時機。
圖38 由PIN碼切換為生物特征ID的界面
六、總 結
隨著Web3.0熱度的高升,大量數字貨幣錢包,數字貨幣資產管理應用也得到大量的用戶流量。大部分用戶下載這些APP的渠道仍然以搜索引擎為主,而本次攻擊針對中國的搜索引擎做了專門的SEO優化,使得這些惡意的仿冒APP排名靠前,極大地增加了仿冒APP的傳播范圍。由于仿冒APP幾乎采用原APP所有代碼,只是在APP加入了極為少量的惡意代碼,導致APP使用者甚至是專業的用戶都無法分辨,因此APP加固和保護的缺失,是黑客能夠攻擊成功的重要原因。目前諸如Web3.0、NFT、元宇宙等熱門新興領域嚴重依賴于區塊鏈進行資產的交易,這也會促使更多黑客加入這個黑色產業鏈條。自從加密數字貨幣誕生以來,就成為了地下灰色市場最為青睞的交易品之一。由于虛擬貨幣的匿名性的特點,使得不法分子尤其對其偏愛,圍繞著虛擬貨幣的網絡攻擊也逐年增加,以獲取虛擬貨幣為目標的網絡犯罪活動也更是急劇增長,這已經發展成為一個不可忽略的安全問題。最后,我們提醒廣大用戶從官方商店安裝應用程序,不安裝來源未知的應用程序。在不得不從第三方下載站點下載軟件時,保持警惕,認真甄別,防止誤下惡意應用,給自己造成不必要的麻煩和損失。