背景概述
2022年6月3日,MetaMask公开了白帽子发现的一个严重的Clickjacking漏洞,这个漏洞可以造成的影响是:在用户的MM插件钱包处于解锁状态,用户访问恶意的站点时,站点可以利用iframe标签将解锁的MM插件钱包页面嵌入到网页中并进行隐藏,然后引导用户在网站上进行点击操作,实际上是在MM解锁的页面中进行操作,从而盗取用户的数字货币或藏品等相关资产。鉴于MM的用户体量较大,且ForkMetaMask插件钱包的项目也比较多,因此在MM公开这个漏洞后,我们立即开始对这个漏洞进行复现,然后开始搜寻这个漏洞对于其他ForkMetaMask项目的影响。
随后,慢雾安全团队尽可能地通知受到影响的项目方,并引导项目方进行修复。现在将这个Clickjacking漏洞的分析公开出来避免后续的项目踩坑。
漏洞分析
由于MM在发布这个Clickjacking漏洞的时候并没有详细的说明,仅是解释了这个漏洞的利用场景以及能够产生的危害,所以我在进行复现的时候也遇到了挺多坑,所以为了让大家能够更好地顺畅地理解整个漏洞,我在进行漏洞分析之前先补充下一个知识点。
Bloomberg Intelligence:52周移动均线走势显示比特币仍未摆脱下跌轨迹:金色财经报道,Bloomberg Intelligence高级宏观策略师Mike McGlone在其题为《6月加密货币展望》的最新报告中表示,比特币最糟糕的时期可能还没有结束,根据当前趋势、美联储政策、以及其他各种原因,比特币的前景似乎看跌。按照Mike McGlone的分析,美联储积极加息的可能性依然存在,继而导致市场前景不容乐观,此外根据52周移动均线走势分析,比特币没有摆脱下跌轨迹,此外Mike McGlone对比特币抵御美国经济萎缩的能力表示怀疑,因为比特币相对年轻且被认为是一种高风险资产,在经济衰退期间,包括加密货币在内的风险资产往往变得更容易受到影响。[2023/6/3 11:56:01]
我们来了解下Manifest-WebAccessibleResources。在浏览器扩展钱包中有这么一个配置:web_accessible_resources,其用来约束Web页面能够访问到浏览器扩展的哪些资源,并且在默认的情况下是Web页面访问不到浏览器扩展中的资源文件,仅浏览器扩展的本身才能访问到浏览器扩展的资源。简而言之就是http/https等协议下的页面默认是没法访问到chrome-extension,当然如果扩展钱包配置了web_accessible_resources将扩展钱包内部的资源暴露出来,那么就能被http/https等协议下的页面访问到了。
Greg Foss:比特币是最好的硬资产之一:金色财经报道,在最近的一段 Youtube 视频中,Validus Power Corp 执行董事 Greg Foss 讨论了银行业失败的可能性,以消除 10 万亿美元的股权。Foss表示支持房地产、黄金和比特币等硬资产。Foss认为,领先的加密资产比特币是最好的硬资产之一。比特币为一篮子法定货币的失败提供了保险。[2023/5/8 14:49:11]
而MM扩展钱包在10.14.6之前的版本一直保留着"web_accessible_resources":的配置,而这个配置是漏洞得以被利用的一个关键点。
BNB Chain唯一地址数量超过以太坊:12月23日消息,BNB Chain最新发布的2022年度回顾数据显示,BNB Chain独立地址数量已超过以太坊。根据Etherscan数据显示,以太坊目前拥有超过2.17亿个唯一地址;而BscScan数据显示,当前BNB Chain唯一地址数量已超过2.33亿个。
不过相比于比特币,BNB Chain和以太坊规模依然较小,比特币网络拥有超过10亿个唯一地址,比BNB Chain和以太坊总和还要大。(Cointelegraph)[2022/12/23 22:02:54]
然而在进行漏洞分析的时候,发现在app/scripts/phishing-detect.js(v10.14.5)中已经对钓鱼页面的跳转做了协议的限制。。
蓝筹NFT项目Meebits总交易额逼近100亿美元,月环比上涨46%:金色财经报道,根据CryptoSlam数据,蓝筹NFT项目Meebits过去29天的总销售额达到6,035,899.79美元,比6月份的3,207,926.51美元增长了46%,交易总额达到97.3亿美元。据NFT Price Floor数据,本文撰写时Meebit地板价达到5.1ETH,7天增长幅度达到8%,另据NFTGo数据显示,在过去7天里Meebits交易量为367笔,销售额约为179万美元,增幅为40.08%,期间至少购买一次NFT的唯一地址数量增加了27.03%。(AMBCrypto)[2022/7/30 2:47:31]
我们继续跟进这个协议限制的改动时间点,发现是在如下这个commit中添加了这个限制,也就是说在v10.14.1之前由于没有对跳转的协议进行限制,导致Clickjacking漏洞可以轻易被利用。
相关的commit:
ARK方舟基金增持Block、Coinbase:7月15日消息,ARK方舟基金增持Block、Coinbase。(金十)[2022/7/15 2:15:01]
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
慢雾安全团队建议普通用户在项目方还未修复漏洞之前可以先暂时停止使用这些扩展钱包,等待钱包官方发布修复版本后,用户可以及时更新到已修复的版本进行使用。
来源:金色财经
标签:INGMETAMETAMETACrypto Crash GamingMETAMOONmetamask小狐狸钱包安卓版升级MetaMerce
大家好我是币圈小沫沫~创始人孙宇晨本周已注资超过20亿美元来支持Tron市场。 Tron的TRX代币在过去24小时内上涨了27%,因为其生态系统稳定币去中心化美元(USDD)接近其预期的1美元挂.
1900/1/1 0:00:00朱啸虎在朋友圈否认被拘留传闻:6月18日消息,今日,有传闻称金沙江创投管理合伙人朱啸虎被拘留。据了解,朱啸虎本人已在朋友圈否认相关传闻,并称应该网络秩序确实需要严格整顿.
1900/1/1 0:00:00这个世界上成功的人很多,成功的企业也很多,而成功后能够一直在行业里有所碰撞的却很少。而深圳市微米信息服务有限公司恰好是这么一家在成功之后依然保持活跃、创新的这么一家企业,微米信息自创立以来就一直.
1900/1/1 0:00:00大家好我是币圈小沫沫~以太币价格正在形成熊市形态,其利润目标接近850美元。以太坊的原生代币以太币在6月16日暴跌,这表明其救济反弹与美联储宣布将基准利率上调0.75%相吻合,存在风险.
1900/1/1 0:00:00最近二级跌跌不休,让很多人现货玩家躺平,让合约玩家寝食难安。但从长线来看,希望大家不要忘记Web3正处于建设阶段.
1900/1/1 0:00:00比特币在6月14日的周期内创下历史新高的1,000美元以内,因为加密货币市场的清算越来越多。 比特币价格触及18个月低点CointelegraphMarketsPro和TradingView的数.
1900/1/1 0:00:00