比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

慢霧:簡析MetaMask錢包demonic漏洞_BIC

Author:

Time:1900/1/1 0:00:00

原文作者:慢霧安全團隊

2022年6月16日,MetaMask官方公布白帽子發現的一個被稱為demonicvulnerability的安全問題,漏洞影響的版本<10.11.3,由于MM的用戶體量較大,且基于MM進行開發的錢包也比較多,所以這個漏洞的影響面挺大的,因此MM也慷慨支付了白帽子5萬刀的賞金。當團隊向我同步了這個漏洞后,我開始著手對這個漏洞進行分析和復現。

漏洞分析

白帽子將這個漏洞命名為demonicvulnerability,具體的漏洞描述比較復雜,為了讓大家更好的理解這個問題,我盡可能用簡單的表述來說明這個問題。在使用MM瀏覽器擴展錢包導入助記詞時,如果點擊"ShowSecretRecoveryPhrase"按鈕,瀏覽器會將輸入的完整助記詞明文緩存在本地磁盤,這是利用了瀏覽器本身的機制,即瀏覽器會將Tabs的頁面中的Text文本從內存保存到本地,以便在使用瀏覽器的時候可以及時保存頁面的狀態,用于下次打開頁面的時候恢復到之前的頁面狀態。

慢霧:Rubic協議錯將USDC添至Router白名單,導致已授權合約用戶USDC遭竊取:12月25日消息,據慢霧安全團隊情報,Rubic跨鏈聚合器項目遭到攻擊,導致用戶賬戶中的USDC被竊取。慢霧安全團隊分享如下:1. Rubic是一個DEX跨鏈聚合器,用戶可以通過RubicProxy合約中的routerCallNative函數進行Native Token兌換。在進行兌換前,會先檢查用戶傳入的所需調用的目標 Router是否在協議的白名單中。

2. 經過白名單檢查后才會對用戶傳入的目標Router進行調用,調用數據也由用戶外部傳入。

3. 不幸的是USDC也被添加到Rubic協議的Router白名單中,因此任意用戶都可以通過RubicProxy合約任意調用USDC。

4. 惡意用戶利用此問題通過routerCallNative函數調用USDC合約將已授權給RubicProxy合約的用戶的USDC通過transferFrom接口轉移至惡意用戶賬戶中。

此次攻擊的根本原因在于Rubic協議錯誤的將USDC添加進Router白名單中,導致已授權給RubicProxy合約的用戶的USDC被竊取。[2022/12/26 22:07:00]

基于對這個漏洞的理解,我開始進行漏洞復現,由于MM僅對這個漏洞進行簡要的描述并不公開漏洞細節,所以在復現的時候遇到了如下的問題:

慢霧:美國演員SethGreen的NFT遭釣魚攻擊,資金已跨鏈到 BTC 并混幣:5月18日消息,美國演員SethGreen遭遇釣魚攻擊致4個NFT(包括1個BAYC、2個MAYC和1個Doodle)被盜,釣魚者地址已將NFT全部售出,獲利近160枚ETH(約33萬美元)。

慢霧MistTrack對0xC8a0907開頭的釣魚地址分析后,發現總共有8個用戶的NFT被盜,包含MAYC、Doodle、BAYC、VOX等12類NFT,全部售出后總獲利194ETH。同時,該釣魚地址初始資金0.188ETH來自Change NOW。釣魚者地址將大部分ETH轉換為renBTC后跨鏈到6個BTC地址,約14BTC均通過混幣轉移以躲避追蹤。NFT釣魚無處不在,請大家保持懷疑,提高警惕。[2022/5/18 3:24:23]

緩存被記錄到磁盤中的文件路徑未知

分析 | 慢霧:攻擊者拿下了DragonEx盡可能多的權限 攻擊持續至少1天:據慢霧安全團隊的鏈上情報分析,從DragonEx公布的“攻擊者地址”的分析來看,20 個幣種都被盜取(但還有一些DragonEx可交易的知名幣種并沒被公布),從鏈上行為來看攻擊這些幣種的攻擊手法并不完全相同,攻擊持續的時間至少有1天,但能造成這種大面積盜取結果的,至少可以推論出:攻擊者拿下了DragonEx盡可能多的權限,更多細節請留意后續披露。[2019/3/26]

緩存何時被記錄到磁盤未知

為了解決問題1,我開始對瀏覽器的緩存目錄結構進行分析和測試,發現在使用瀏覽器(chrome)的時候相關的Tabs緩存是記錄到了如下的目錄:

Tabs緩存路徑:

/Users/$(whoami)/Library/ApplicationSupport/Google/Chrome/Default/Sessions/

然后繼續解決問題2:Sessions目錄會記錄Tabs的緩存,為了找出緩存被記錄的時間節點,我對導入助記詞的整個流程進行了分解,然后在每一步操作之后去觀察Sessions的數據變化。發現在如下這個頁面輸入助記詞數據后,需要等待10-20s,然后關閉瀏覽器,明文的助記詞信息就會被記錄到Sessions緩存數據中。

分析結論

用戶正常在使用MM的時候是將助記詞相關的數據放入內存中進行存儲,一般認為是相對較為安全的,但是由于demonicvulnerability這個漏洞導致助記詞會被緩存到本地磁盤,因此就會有如下的新的利用場景:

明文的助記詞數據緩存在本地磁盤,可以被其他應用讀取,在PC電腦中很難保證其他應用程序不去讀取Sessions緩存文件。

明文的助記詞數據緩存在本地磁盤,如果磁盤未被加密,可以通過物理接觸恢復助記詞。比如在類似維修電腦等場景下,當他人對電腦進行物理接觸時可以從硬盤中讀取助記詞數據。

作為普通用戶,如果你使用過MetaMaskVersion<10.11.3,且在導入助記詞的時候點擊了ShowSecretRecoveryPhrase,那么你的助記詞有可能泄露了,可以參考MetaMask的文章對磁盤進行加密并更換錢包遷移數字資產。

作為擴展錢包項目方,如果采用了在Tabs頁面中以Text的方式輸入助記詞導入錢包,均受到demonicvulnerability漏洞的影響,可以參考MetaMaskVersion>=10.11.3的實現,為每個助記詞定義單獨的輸入框,并且輸入框的類型為Password。

參考鏈接

Tags:USDUBIBICRUBusdm幣APPjubilantingreviaQBICTRUBGR幣

加密貨幣
Immutable推出5億美元生態基金以促進GameFi采用_IMM

本文來自?Crypto?Briefing,原文作者:StefanStankovicOdaily星球日報譯者?|念銀思唐 摘要: -Immutable推出了一個5億美元的生態系統發展基金.

1900/1/1 0:00:00
淺談區塊鏈反身性理論:行業周期性及市場風險管理_WOO

?為什么幣圈的牛熊市更迭如此頻繁?為什么區塊鏈項目的平均生命周期如此短暫?到底什么是死亡螺旋?這些問題可能都可以用索羅斯的反身性理論來解釋.

1900/1/1 0:00:00
比特幣跌破重要支撐位,為什么說“底部梭哈”是不切實際的夢想?_ORD

6月18日,據FTX行情數據顯示,比特幣已跌破上輪牛市頂點,時隔549天重回19,000時代。6月18日,據F2pool數據顯示,隨著比特幣跌至20,000美元以下,按照0.4元/度電費并基于當.

1900/1/1 0:00:00
薩爾瓦多Chivo錢包用戶抱怨無法將資產轉至其他錢包_CHIV

6月18日消息,隨著加密貨幣市場持續下跌,使用Chivo比特幣錢包的薩爾瓦多人表示,他們無法將資產轉移到不受政府控制的錢包中。目前尚不清楚資產轉移問題是否與流動性問題有任何關聯.

1900/1/1 0:00:00
BKEX 關于下架部分幣種交易對的公告_GLO

尊敬的用戶:? 本著保護用戶的宗旨,BKEX為保證交易幣種的高標準,將定期對平臺內的代幣進行綜合性審查;如項目方出現對投資者不利因素,我們將采取對應措施,并下架對應項目.

1900/1/1 0:00:00
BKEX Global 關于”新用戶注冊領盲盒第一期6月20日“活動結果公告_KEX

尊敬的用戶:??? BKEX舉辦的"新用戶注冊領盲盒第一期6月20日"活動結果已出,相關空投獎勵已2022年6月20日18:00發放完成.

1900/1/1 0:00:00
ads