2022 年 6 月 16 日,MetaMask(MM)官方公布白帽子發現的一個被稱為 demonic vulnerability(惡魔漏洞)的安全問題,漏洞影響的版本 < 10.11.3,由于 MM 的用戶體量較大,且基于 MM 進行開發的錢包也比較多,所以這個漏洞的影響面挺大的,因此 MM 也慷慨支付了白帽子 5 萬刀的賞金。當團隊向我同步了這個漏洞后,我開始著手對這個漏洞進行分析和復現。
白帽子將這個漏洞命名為 demonic vulnerability,具體的漏洞描述比較復雜,為了讓大家更好的理解這個問題,我盡可能用簡單的表述來說明這個問題。在使用 MM 瀏覽器擴展錢包導入助記詞時,如果點擊 "Show Secret Recovery Phrase" 按鈕,瀏覽器會將輸入的完整助記詞明文緩存在本地磁盤,這是利用了瀏覽器本身的機制,即瀏覽器會將 Tabs 的頁面中的 Text 文本從內存保存到本地,以便在使用瀏覽器的時候可以及時保存頁面的狀態,用于下次打開頁面的時候恢復到之前的頁面狀態。
慢霧:利用者通過執行惡意提案控制了Tornado.Cash的治理:金色財經報道,SlowMist發布Tornado.Cash治理漏洞解析。 5月20日,Tornado.Cash遭受了治理攻擊,利用者通過執行惡意提案控制了Tornado.Cash的治理。5月13日,利用者發起了20提案,并在提案中說明20提案是對16提案的補充,具有相同的執行邏輯。但實際上,提案合約多了一個自毀邏輯,其創建者是通過create2創建的,具有自毀功能,所以在與提案合約自毀后,利用者仍可以部署不同的以與以前相同的方式將字節碼發送到相同的地址。不幸的是,社區沒有看到擬議合約中的犯規行為,許多用戶投票支持該提案。
在5月18日,利用者通過創建具有多個交易的新地址,反復將0代幣鎖定在治理中。利用提案合約可以銷毀并重新部署新邏輯的特性,利用者在5月20日7:18(UTC)銷毀了提案執行合約,并在同一地址部署了一個惡意合約,其邏輯是修改用戶在治理中鎖定的代幣數量。
攻擊者修改完提案合約后,于5月20日7:25(UTC)執行惡意提案合約。該提案的執行是通過 Delegatecall 執行的,因此,該提案的執行導致治理合約中由開發者控制的地址的代幣鎖定量被修改為 10,000。提案執行完成后,攻擊者從治理庫中解鎖了TORN代幣。金庫中的TORN代幣儲備已經耗盡,同時利用者控制了治理。[2023/5/21 15:17:00]
基于對這個漏洞的理解,我開始進行漏洞復現,由于 MM 僅對這個漏洞進行簡要的描述并不公開漏洞細節,所以在復現的時候遇到了如下的問題:
慢霧:仍有大部分錢包支持eth_sign,僅少部分錢包提供安全風險警告:金色財經報道,在加密貨幣NFT板塊,越來越多的釣魚網站濫用 eth_sign 簽名功能來進行盲簽欺詐,提醒或禁用這種低級的簽名方法對于保護用戶安全是至關重要的,不少 Web3 錢包已經采取相關措施來對這種危險的簽名方法進行安全提示和限制。仍有一大部分加密錢包支持 eth_sign,其中少部分錢包提供 eth_sign 安全風險警告。如果用戶仍想要使用 eth_sign,他們可以選擇支持該功能的加密錢包。但是,用戶在使用這些錢包時需要特別注意安全警告,以確保其交易的安全性。[2023/5/11 14:57:14]
緩存被記錄到磁盤中的文件路徑未知
慢霧:美國演員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]
緩存何時被記錄到磁盤未知
慢霧:BSC鏈上項目BXH遭受攻擊分析:10月30日消息,據慢霧區情報,2021年10月30日,幣安智能鏈上(BSC)去中心化交易協議BXH項目遭受攻擊,被盜約1.3億美金。經慢霧安全團隊分析,黑客于27日13時(UTC)部署了攻擊合約0x8877,接著在29日08時(UTC)BXH項目管理錢包地址0x5614通過grantRole賦予攻擊合約0x8877管理權限。30日03時(UTC)攻擊者通過攻擊合約0x8877的權限從BXH策略池資金庫中將其管理的資產轉出。30日04時(UTC)0x5614暫停了資金庫。因此BXH本次被盜是由于其管理權限被惡意的修改,導致攻擊者利用此權限轉移了項目資產。[2021/10/30 6:22:02]
為了解決問題 1,我開始對瀏覽器的緩存目錄結構進行分析和測試,發現在使用瀏覽器 (chrome) 的時候相關的 Tabs 緩存是記錄到了如下的目錄:
Tabs 緩存路徑:
/Users/$(whoami)/Library/Application Support/Google/Chrome/Default/Sessions/
然后繼續解決問題 2:Sessions 目錄會記錄 Tabs 的緩存,為了找出緩存被記錄的時間節點,我對導入助記詞的整個流程進行了分解,然后在每一步操作之后去觀察 Sessions 的數據變化。發現在如下這個頁面輸入助記詞數據后,需要等待 10 - 20s,然后關閉瀏覽器,明文的助記詞信息就會被記錄到 Sessions 緩存數據中。
用戶正常在使用 MM 的時候是將助記詞相關的數據放入內存中進行存儲,一般認為是相對較為安全的(在早前慢霧的 Hacking Time 中,我發現在用戶正常使用 MM 的時候是可以通過 hook 技術將明文的助記詞提取出來,僅限于用戶電腦被惡意程序控制的情況下可以被利用),但是由于 demonic vulnerability 這個漏洞導致助記詞會被緩存到本地磁盤,因此就會有如下的新的利用場景:
明文的助記詞數據緩存在本地磁盤,可以被其他應用讀取,在 PC 電腦中很難保證其他應用程序不去讀取 Sessions 緩存文件。
明文的助記詞數據緩存在本地磁盤,如果磁盤未被加密,可以通過物理接觸恢復助記詞。比如在類似維修電腦等場景下,當他人對電腦進行物理接觸時可以從硬盤中讀取助記詞數據。
作為普通用戶,如果你使用過 MetaMask Version < 10.11.3,且在導入助記詞的時候點擊了 Show Secret Recovery Phrase,那么你的助記詞有可能泄露了,可以參考 MetaMask 的文章對磁盤進行加密并更換錢包遷移數字資產。
作為擴展錢包項目方,如果采用了在 Tabs 頁面中以 Text 的方式輸入助記詞導入錢包,均受到 demonic vulnerability 漏洞的影響,可以參考 MetaMask Version >=10.11.3 的實現,為每個助記詞定義單獨的輸入框,并且輸入框的類型為 Password。
原文標題:《MetaMask 瀏覽器擴展錢包 demonic 漏洞分析》
撰文:Thinking@慢霧安全團隊
來源:ForesightNews
原文:Chainalysis去中心化自治組織 (DAO) 是 Web3 的主要內容。基于互聯網和區塊鏈的 DAO 旨在為企業、項目和社區提供一種新的、民主化的管理結構,其中任何成員都可以通過購買.
1900/1/1 0:00:00紐約,2022 年 6 月 28 日 / 美通社 / Dfinity 基金會今天對《紐約時報》記者 Andrew Ross Sorkin 和 Ephrat Livni 以及 Arkham 的創始.
1900/1/1 0:00:00首先:瀏覽器錢包是旨在通過網絡瀏覽器使用的加密錢包。對我們大多數人來說,當我們看到「瀏覽器錢包」時,我們就會想到 MetaMask 這樣的瀏覽器擴展項目,人們可以直接下載到 Chrome、Bra.
1900/1/1 0:00:00在基于 Optimistic Rollup 的以太坊二層網絡 Optimism 和 Arbitrum 分別因為推出治理代幣和與 Project Galaxy 合作的 Arbitrum Odyss.
1900/1/1 0:00:002022年,數字藏品不僅成為創業領域的熱門賽道,也掀起了一輪文化消費的浪潮。但隨著數藏行業的發展,與法律相關的挑戰逐漸浮出水面.
1900/1/1 0:00:00近期,比特幣、以太坊價格持續下跌,紛紛創下過去一年價格新低。整個加密市場受到波及,DeFi 也難以獨善其身。數據顯示,鏈上鎖倉總量從 5 月初的 1635 億美元下腰斬至目前的 818 億美元.
1900/1/1 0:00:00