MetaMask 浏览器扩展钱包 Clickjacking 漏洞分析

2022 年 6 月 3 日,MetaMask(MM)公开了白帽子发现的一个严重的 Clickjacking 漏洞,这个漏洞可以造成的影响是:在用户的 MM 插件钱包处于解锁状态,用户访问恶意的站点时,站点可以利用 iframe 标签将解锁的 MM 插件钱包页面嵌入到网页中并进行隐藏,然后引导用户在网站上进行点击操作,实际上是在 MM 解锁的页面中进行操作,从而盗取用户的数字货币或藏品等相关资产。鉴于 MM 的用户体量较大,且 Fork MetaMask 插件钱包的项目也比较多,因此在 MM 公开这个漏洞后,我们立即开始对这个漏洞进行复现,然后开始搜寻这个漏洞对于其他 Fork MetaMask 项目的影响。

随后,慢雾安全团队尽可能地通知受到影响的项目方,并引导项目方进行修复。现在将这个 Clickjacking 漏洞的分析公开出来避免后续的项目踩坑。

漏洞分析

由于 MM 在发布这个 Clickjacking 漏洞的时候并没有详细的说明,仅是解释了这个漏洞的利用场景以及能够产生的危害,所以我在进行复现的时候也遇到了挺多坑(各种盲猜漏洞点),所以为了让大家能够更好地顺畅地理解整个漏洞,我在进行漏洞分析之前先补充下一个知识点。

我们来了解下 Manifest - Web Accessible Resources。在浏览器扩展钱包中有这么一个配置:web_accessible_resources,其用来约束 Web 页面能够访问到浏览器扩展的哪些资源,并且在默认的情况下是 Web 页面访问不到浏览器扩展中的资源文件,仅浏览器扩展的本身才能访问到浏览器扩展的资源。简而言之就是 http/https 等协议下的页面默认是没法访问到 chrome-extension,当然如果扩展钱包配置了 web_accessible_resources 将扩展钱包内部的资源暴露出来,那么就能被 http/https 等协议下的页面访问到了。

而 MM 扩展钱包在 10.14.6 之前的版本(本文以 10.14.5 为例)一直保留着 "web_accessible_resources": ["inpage.js", "phishing.html"] 的配置,而这个配置是漏洞得以被利用的一个关键点。

然而在进行漏洞分析的时候,发现在 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 漏洞诱导用户进行转账的修复(影响版本:< = v10.14.0):

https://github.com/MetaMask/metamask-extension/commit/c1ca70d7325577835a23c1fae2b0b9b10df54490

(2)利用 Clickjacking 漏洞将钓鱼网站加入到白名单的修复(影响版本:<= v10.14.5):

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

慢雾安全团队建议普通用户在项目方还未修复漏洞之前可以先暂时停止使用这些扩展钱包(在浏览器扩展程序管理中关闭这些扩展钱包),等待钱包官方发布修复版本后,用户可以及时更新到已修复的版本进行使用。

24小时热点

狗狗币一夜暴涨700倍创下历史新高!

最近一段时间狗狗币暴涨幅度达到700倍,出现了巨大的涨幅,这 ...

3186796

波场区块链浏览器

诈骗披露:成功学周文强

又一个“成功学”大师周文强翻车 你想一夜暴富吗?你想年薪百 ...

3855809

Lazy Lions

链圈打诈之缅北将女子虐待打傻后开火车、四轮定位

缅北将女子虐待打傻后遣返,不能正常进食享受电击,回国时人已疯 ...

1481976

抹茶

链圈打诈之缅北十大酷刑之:吃冰棍

吃冰棍 对女孩的另一种残忍惩罚,先用模型注水放进冰箱 ...

2406116

中币交易所

2024年美元兑人民币汇率预测:会涨到8元吗?市场密切关注

2024年美元兑人民币汇率吸引了许多投资者的关注,涨到8元的 ...

4251335

波场区块链浏览器

F8Coin货币交易所交易量如何?

F8Coin是一种加密货币,它是在比特币发展了八年之后推出的 ...

209901

YoBit

中国十大传销币之:派币(π币、pi币、pi network、兀币)

是骗局。pi币”的数字货币,有不少人在购买,不知道是不是所谓 ...

692511

中值联资讯

链圈打诈:缅北恐怖视频截图

缅北诈骗集团真实画面,电击剁手只算最轻惩罚,自杀都成一种奢望 ...

949949

ZPLAN元宇宙

链圈打诈之缅北十大酷刑之:开火车

缅北美梦,女性酷刑:吃冰棍,开火车,喝珍珠奶茶... ...

1640641

ZT GLOBAL 交易所

Token在线解析

Token在线解析是一种在线token解析工具,可以帮助用户 ...

1228410

IOST

热点专题

2024年美元兑人民币汇率预测:会涨到8元吗?市场密切关注

2024年美元兑人民币汇率吸引了许多投资者的关注,涨到8元的 ...

4247167

波场区块链浏览器

诈骗披露:成功学周文强

又一个“成功学”大师周文强翻车 你想一夜暴富吗?你想年薪百 ...

3855530

Lazy Lions

狗狗币一夜暴涨700倍创下历史新高!

最近一段时间狗狗币暴涨幅度达到700倍,出现了巨大的涨幅,这 ...

3186312

波场区块链浏览器

专门忽悠企业家的中国十大骗子大师

区块链网创立于2015年初,为国内第一批有资质的区块链媒体, ...

2825546

希壤

中国十大骗局之pi network(π币、pi币、派币、兀币)

中国十大骗局之pi network(π币、pi币、派币、兀币 ...

2578800

Gemini 交易所

2023年打假总结:Pi Network项目的传销性质Pi币

曾经,号称“走路就能赚钱”拥有大量用户和广泛影响的国内APP ...

2471845

文昌链

国内460种传销币套路和骗子币名单大曝光

打着区块链旗号,以聚集性传销、网络传销为手段,以每枚3元的价 ...

2173330

Coin Metrics

原力元宇宙佛萨奇骗局

原力元宇宙佛萨奇骗局是一种不可思议的幻想计划,它由一群英勇可 ...

2108576

聚币网

柴犬币SHIB来了

因其可爱形象和马斯克代言,近段时间最耀眼的加密货币非狗狗币莫 ...

1295270

Luart

链圈打诈:3000名解放军去缅甸真的假的?

3000名解放军去缅甸这个是假新闻,出兵这是个大问题,如果我 ...

1231199

a16z