背景概述
2022年6月3日,MetaMask公开了白帽子发现的一个严重的Clickjacking漏洞,这个漏洞可以造成的影响是:在用户的MM插件钱包处于解锁状态,用户访问恶意的站点时,站点可以利用iframe标签将解锁的MM插件钱包页面嵌入到网页中并进行隐藏,然后引导用户在网站上进行点击操作,实际上是在MM解锁的页面中进行操作,从而盗取用户的数字货币或藏品等相关资产。鉴于MM的用户体量较大,且ForkMetaMask插件钱包的项目也比较多,因此在MM公开这个漏洞后,我们立即开始对这个漏洞进行复现,然后开始搜寻这个漏洞对于其他ForkMetaMask项目的影响。
随后,慢雾安全团队尽可能地通知受到影响的项目方,并引导项目方进行修复。现在将这个Clickjacking漏洞的分析公开出来避免后续的项目踩坑。
Meta发布语音生成AI Voicebox,支持为元宇宙中的角色生成配音:6月17日消息,Meta发布语音生成AI模型Voicebox,支持从文本中生成语音,能够根据仅两秒长的样本匹配音频风格,并将文本样本转换为另一种语言,在给定单独的语音样本的情况下,并能够以说话者的原始语音朗读翻译后的文本内容,目前支持六种语言:英语、法语、德语、西班牙语、波兰语和葡萄牙语。
Meta表示Voicebox也可以让元宇宙中的虚拟助手和非玩家角色发出自然的声音,可以让视障人士听到AI用他们的声音朗读的朋友的书面信息,为创作者提供新的工具来轻松创建和编辑视频的音轨等等。[2023/6/17 21:43:39]
漏洞分析
由于MM在发布这个Clickjacking漏洞的时候并没有详细的说明,仅是解释了这个漏洞的利用场景以及能够产生的危害,所以我在进行复现的时候也遇到了挺多坑,所以为了让大家能够更好地顺畅地理解整个漏洞,我在进行漏洞分析之前先补充下一个知识点。
郭明錤更正:预测2022年Meta元宇宙硬件/耳机出货量下调25-35%:6月22日消息,天风国际分析师郭明錤再次发推表示,此前发货预测是基于调查和判断,而不是官方数据。更正预测2022年Meta的元宇宙硬件/耳机出货量下调25-35%。[2022/6/23 1:25:26]
我们来了解下Manifest-WebAccessibleResources。在浏览器扩展钱包中有这么一个配置:web_accessible_resources,其用来约束Web页面能够访问到浏览器扩展的哪些资源,并且在默认的情况下是Web页面访问不到浏览器扩展中的资源文件,仅浏览器扩展的本身才能访问到浏览器扩展的资源。简而言之就是http/https等协议下的页面默认是没法访问到chrome-extension,当然如果扩展钱包配置了web_accessible_resources将扩展钱包内部的资源暴露出来,那么就能被http/https等协议下的页面访问到了。
Animoca Brands宣布与Planet Hollywood Group成立合资公司MetaHollywood:4月22日消息,Animoca Brands 宣布与 Planet Hollywood Group 成立合资公司 MetaHollywood,该公司将为电影爱好者打造元宇宙社区。用户将能够在以好莱坞为主题的元宇宙中进行互动,还可在社区中使用 MetaHollywood 的原生 Token 购买电影、海报和剪辑片段等形式的 NFT。[2022/4/22 14:40:50]
而MM扩展钱包在10.14.6之前的版本一直保留着"web_accessible_resources":的配置,而这个配置是漏洞得以被利用的一个关键点。
Meta提交8项商标申请,涉及元宇宙内的加密交易、区块链软件等:3月23日消息,元宇宙商标律师Michael Kondoudis周三在ExpertClick发文称,Meta Platforms, Inc.(前 Facebook)已经为其新Logo提交八份新的商标注册申请,表明这家社交媒体巨头计划扩展到各种加密货币、虚拟产品和服务,如加密货币、代币、加密交易、区块链软件、虚拟货币钱包和虚拟货币交易所。
Michael Kondoudis评论称,“这些文件反映了该公司进军元宇宙的战略。Meta显然对推动虚拟经济的发展有着重要的计划。”(Finbold)[2022/3/23 14:14:06]
然而在进行漏洞分析的时候,发现在app/scripts/phishing-detect.js(v10.14.5)中已经对钓鱼页面的跳转做了协议的限制。。
Meta首席产品经理:机构投资者导致比特币被高估:2月20日消息,Meta(前Facebook)首席产品经理Dare Obasanjo指责机构投资者高估了比特币,称这属于加密市场中最为“Bigger Fool”的投资行为。
“Bigger Fool”指的是有人以更高的价格购买被投资者高估的资产,这些投资者希望在资产崩盘之前,以相对于初始购买价格的虚高成本转售并从中获得高额利润。
Obasanjo在自己的推特账号@Carnage4Life上写道:“我怀疑这也是比特币泡沫破裂的原因。寻求回报的大型投资者曾试图将数十亿美元注入处于后期阶段的初创公司,但结果只是高估了它们的估值。机构购买比特币也存在同样的动态。他们会意识到没有其他‘Bigger Fool’。”(Ripples Nigeria)[2022/2/20 10:04:04]
我们继续跟进这个协议限制的改动时间点,发现是在如下这个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是存在漏洞的,再继续回头看这里的猜想。。
经过反复翻阅代码,在v10.14.5以及之前版本的代码,会在钓鱼页面提示的时候,如果用户点击了continuingatyourownrisk.之后就会将这个hostname加入到本地的白名单列表中。从而在下一次访问到该网站的时候就不会再出现MetaMaskPhishingDetection的提醒。
比如这个钓鱼网站:ethstake.exchange,通过iframe标签将钓鱼网站嵌入到网页中,然后利用Clickjacking漏洞就能将恶意的钓鱼网站加入到白名单中,同时在用户下一次访问钓鱼网站的时候MM不会再继续弹出警告。
分析结论
如上述的分析过程,其实MM近期修复的是两个Clickjacking漏洞,在复现过程中发现最新的v10.14.6已经将web_accessible_resources的相关配置移除了,彻底修复了MetaMaskPhishingDetection页面的点击劫持的问题。
利用Clickjacking漏洞诱导用户进行转账的修复:
https://github.com/MetaMask/metamask-extension/commit/c1ca70d7325577835a23c1fae2b0b9b10df54490
利用Clickjacking漏洞将钓鱼网站加入到白名单的修复:
https://github.com/MetaMask/metamask-extension/commit/7199d9c56775111f85225fe15297e47de8e2bc96
慢雾安全团队对chrome扩展商店中的各个知名的扩展钱包进行了Clickjacking的漏洞检测,发现如下的钱包受到Clickjacking漏洞影响:
CoinbaseWallet(v2.17.2)
Coin98Wallet(v6.0.6)
MaiarDeFiWallet(v1.2.17)
慢雾安全团队第一时间联系项目方团队,但是到目前为止部分项目方还未反馈,并且MM公开这个漏洞至今已经过去了11天。为了避免用户因为该漏洞遭受损失,慢雾安全团队选择公开漏洞的分析。如果受影响的相关项目方看到这篇文章需要协助请联系慢雾安全团队。
慢雾安全团队再次提醒浏览器扩展钱包项目方如果有基于MetaMask
慢雾安全团队建议普通用户在项目方还未修复漏洞之前可以先暂时停止使用这些扩展钱包,等待钱包官方发布修复版本后,用户可以及时更新到已修复的版本进行使用。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。