背景概述
2022 年 6 月 3 日,MetaMask(MM)公开了白帽子发现的一个严重的 Clickjacking 漏洞,这个漏洞可以造成的影响是:在用户的 MM 插件钱包处于解锁状态,用户访问恶意的站点时,站点可以利用 iframe 标签将解锁的 MM 插件钱包页面嵌入到网页中并进行隐藏,然后引导用户在网站上进行点击操作,实际上是在 MM 解锁的页面中进行操作,从而盗取用户的数字货币或藏品等相关资产。鉴于 MM 的用户体量较大,且 Fork MetaMask 插件钱包的项目也比较多,因此在 MM 公开这个漏洞后,我们立即开始对这个漏洞进行复现,然后开始搜寻这个漏洞对于其他 Fork MetaMask 项目的影响。
随后,慢雾安全团队尽可能地通知受到影响的项目方,并引导项目方进行修复。现在将这个 Clickjacking 漏洞的分析公开出来避免后续的项目踩坑。
苏富比拍卖行推出链上二级NFT市场Sotheby's Metaverse:金色财经报道,苏富比拍卖行宣布推出链上二级 NFT 市场 Sotheby's Metaverse 。通过其 Web3 部门,Sotheby's Metaverse 现在将在其平台上提供收藏家之间的直接交易,集成销售系统将通过以太坊和 Polygon 网络完全上链,用户可以使用 ETH 或 MATIC 进行支付。
Sotheby's Metaverse 团队表示,它将继续通过其转售平台上的智能合约来兑现艺术家的版税,该平台会根据艺术家选择的链上版税率自动向艺术家付款。二级市场上的特色艺术家将每隔几个月轮换一次,该平台将推出 13 位先锋数字艺术家的作品,包括 Tyler Hobbs、ClaPY、Diana Sinclair、Pindar van Arman 等。[2023/5/2 14:37:49]
漏洞分析
以抵御反垄断诉讼为由 Meta发出传票要求上百家公司提供机密信息:9月13日消息,Meta Platforms(META.O)表示,为了抵御美国联邦政府发起的反垄断诉讼,该公司需要竞争对手泄露一些最机密的信息。根据法庭文件,Meta要求其竞争对手提供如何开展业务的一些最重要和敏感因素有关的文件,包括他们如何获取用户、扩大产品规模和从功能中赚钱。截至目前,Meta已向包括Snap(SNAP.N)、TikTok和音频创业公司Clubhouse等132家公司发出传票;该公司还警告称,可能还会要求另外100家公司提供信息。Meta竞争对手指控Meta以反垄断诉讼为借口,挖掘他们的机密数据。(金十数据APP)[2022/9/14 13:27:50]
由于 MM 在发布这个 Clickjacking 漏洞的时候并没有详细的说明,仅是解释了这个漏洞的利用场景以及能够产生的危害,所以我在进行复现的时候也遇到了挺多坑(各种盲猜漏洞点),所以为了让大家能够更好地顺畅地理解整个漏洞,我在进行漏洞分析之前先补充下一个知识点。
Huobi XCenter推出数字身份MetaID与加密星座头像:据官方消息,Huobi X Center推出数字身份MetaID+加密星座头像CyberZodiac,MetaID是火币(Huobi X Center)推出一套底层的数字身份体系,加密星座头像是基于MetaID的首个上层应用。星座头像在MetaID八大特征的基础上,融合了星座、BTC、ETH等设计元素。每个星座头像都与MetaID一对一映射。星座头像的生成过程是大型社区共创的过程,用户通过是基于钱包地址自动生成MetaID(第三期起支持),并将MetaID绘制成星座头像NFT,代表了该地址对应的独有身份,具有唯一性、不可篡性。
加密星座头像与MetaID均限量发行18888枚,并不再增发。首期星座头像于2021年9月7日晚8点通过iBox发行的,通过钱包登录ibox即可购买。购买星座头像的用户将同时获得对应MetaID的空投。第一批问世的头像限量发行100个。[2021/9/7 23:06:06]
我们来了解下 Manifest - Web Accessible Resources。在浏览器扩展钱包中有这么一个配置:web_accessible_resources,其用来约束 Web 页面能够访问到浏览器扩展的哪些资源,并且在默认的情况下是 Web 页面访问不到浏览器扩展中的资源文件,仅浏览器扩展的本身才能访问到浏览器扩展的资源。简而言之就是 http/https 等协议下的页面默认是没法访问到 chrome-extension,当然如果扩展钱包配置了 web_accessible_resources 将扩展钱包内部的资源暴露出来,那么就能被 http/https 等协议下的页面访问到了。
Blin Metaverse将于9月6日开放首轮Certified Sale:据官方消息,Blin Metaverse分别与Bounce Finance、DAOStarter、ERAX达成战略合作。并将在UTC时间9月6日12:00(北京时间20:00)于这三家平台进行首轮Certified Sale。
据悉,Blin Metaverse是基于币安智能链BSC的元宇宙+NFTFi 基础设施。旨在通过 IP 重塑、虚拟社交、链上 NFT 资产铸造、确权、价值流通等方式实现多元化虚拟现实交互的综合性去中心化NFT基础设施。[2021/9/6 23:03:32]
而 MM 扩展钱包在 10.14.6 之前的版本(本文以 10.14.5 为例)一直保留着 "web_accessible_resources": ["inpage.js", "phishing.html"] 的配置,而这个配置是漏洞得以被利用的一个关键点。
CoinMetrics创始人:不担心以太坊上稳定币的价值会超过ETH:金色财经报道,最近以太坊网络上稳定币的发行量显著增加。CoinMetrics表示,截至4月30日,以太坊区块链上已确认交易总数的7天移动平均值升至845,400,是自2019年7月1日以来的最高水平。以太坊网络上稳定币的市值略高于70亿美元,而ETH的市值约为240亿美元。人们担心非本地代币会超过ETH的价值。CoinMetrics创始人Nic Carter对此持反对意见,他表示,如果非本地代币超出本地代币5倍,则可能会引起关注。此外,他表示,关于ETH的长期价值,最令人信服的论点是,ETH是一种必要的费用资产,而以太坊保持ETH价值的能力与美国保值美元的能力类似。任务是创造一个环境,在这种环境下,持有并使用ETH通常是个好主意。[2020/5/9]
然而在进行漏洞分析的时候,发现在 app/scripts/phishing-detect.js(v10.14.5) 中已经对钓鱼页面的跳转做了协议的限制。(这里的限制在我的理解应该是还有其他的坑,毕竟 "web_accessible_resources": ["inpage.js", "phishing.html"]`这个配置还保留着)。
我们继续跟进这个协议限制的改动时间点,发现是在如下这个 commit 中添加了这个限制,也就是说在 v10.14.1 之前由于没有对跳转的协议进行限制,导致 Clickjacking 漏洞可以轻易被利用。
相关的 commit:
https://github.com/MetaMask/metamask-extension/commit/c1ca70d7325577835a23c1fae2b0b9b10df54490
https://github.com/MetaMask/metamask-extension/compare/v10.14.0...v10.14.1
为了验证代码的分析过程,我们切换到 protocol 限制之前的版本 v10.14.0 进行测试,发现可以轻松复现整个攻击过程。
但是在 MM 公开的报告中也提到,Clickjacking 漏洞是在 v10.14.6 进行了修复,所以 v10.14.5 是存在漏洞的,再继续回头看这里的猜想。(这里的限制在我的理解应该是还有其他的坑,毕竟 "web_accessible_resources": ["inpage.js", "phishing.html"] 这个配置还保留着)。
经过反复翻阅代码,在 v10.14.5 以及之前版本的代码,会在钓鱼页面提示的时候,如果用户点击了 continuing at your own risk. 之后就会将这个 hostname 加入到本地的白名单列表中。从而在下一次访问到该网站的时候就不会再出现 MetaMask Phishing Detection 的提醒。
比如这个钓鱼网站:ethstake.exchange,通过 iframe 标签将钓鱼网站嵌入到网页中,然后利用 Clickjacking 漏洞就能将恶意的钓鱼网站加入到白名单中,同时在用户下一次访问钓鱼网站的时候 MM 不会再继续弹出警告。
分析结论
如上述的分析过程,其实 MM 近期修复的是两个 Clickjacking 漏洞,在复现过程中发现最新的 v10.14.6 已经将 web_accessible_resources 的相关配置移除了,彻底修复了 MetaMask Phishing Detection 页面的点击劫持的问题。
(1)利用 Clickjacking 漏洞诱导用户进行转账的修复(影响版本:https://github.com/MetaMask/metamask-extension/commit/7199d9c56775111f85225fe15297e47de8e2bc96
慢雾安全团队对 chrome 扩展商店中的各个知名的扩展钱包进行了 Clickjacking 的漏洞检测,发现如下的钱包受到 Clickjacking 漏洞影响:
Coinbase Wallet (v2.17.2)
Coin98 Wallet (v6.0.6)
Maiar DeFi Wallet (v1.2.17)
慢雾安全团队第一时间联系项目方团队,但是到目前为止部分项目方还未反馈,并且 MM 公开这个漏洞至今已经过去了 11 天。为了避免用户因为该漏洞遭受损失,慢雾安全团队选择公开漏洞的分析。如果受影响的相关项目方看到这篇文章需要协助请联系慢雾安全团队。
慢雾安全团队再次提醒浏览器扩展钱包项目方如果有基于 MetaMask
慢雾安全团队建议普通用户在项目方还未修复漏洞之前可以先暂时停止使用这些扩展钱包(在浏览器扩展程序管理中关闭这些扩展钱包),等待钱包官方发布修复版本后,用户可以及时更新到已修复的版本进行使用。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。