作者:耀@慢雾安全团队
背景
区块链的世界遵循黑暗森林法则,在这个世界我们随时可能遭受到来自不明的外部攻击,作为普通用户不进行作恶,但是了解黑客的作恶的方式是十分必要的。
慢雾安全团队此前发布了区块链黑暗森林自救手册,其中提到了不少关于针对NFT项目方的Discord进行攻击的手法,为了帮助读者对相关钓鱼方式有更清晰的认知,本文将揭露其中一种钓鱼方法,即通过恶意的书签来盗取项目方Discord账号的Token,用来发布虚假信息等诱导用户访问钓鱼网站,从而盗取用户的数字资产。
钓鱼事件
先来回顾一起Discord钓鱼事件:2022年3月14日,一则推特称NFT项目WizardPass的Discord社区被者入侵,目前已造成BAYC、Doodles、CloneX等NFT被盗,详情如下:
Brave浏览器桌面版本发布v1.50.121更新:4月20日消息,据官方推特,隐私浏览器Brave桌面版本发布v1.50.121更新,包含一个已被发现在野外被利用的Chromium漏洞的修复程序。用户可能已经收到自动Brave更新,如果没有,可通过浏览器的菜单访问“关于Brave”来手动更新。Android更新正在等待Google Play商店审核,应该很快就会发布。
此前4月17日消息,谷歌Chrome浏览器紧急发布安全补丁,修复可盗取比特币私钥等信息的漏洞CVE-2023-2033。如果用户在其他浏览器中使用了Chrome内核的浏览器,也需升级最近版本以避免被攻击。[2023/4/20 14:16:03]
来源:https://twitter.com/sentinelwtf/status/1496293768542429187
该解读里说的bookmark就是浏览器书签,这个书签里的内容可以是一段JavaScript恶意代码,当Discord用户点击时,恶意JavaScript代码就会在用户所在的Discord域内执行,盗取DiscordToken,攻击者获得项目方的DiscordToken后就可以直接自动化接管项目方的Discord账户相关权限。
以太坊浏览器Etherscan推出高级模式:9月28日消息,以太坊浏览器Etherscan推出高级模式(Advanced Mode),功能包括交易错误消息(Transaction Error Messages)。据官方介绍,随着最近通过错误消息进行的网络钓鱼尝试有所增加,采取该措施来帮助保护用户。
据悉,对于交易错误消息功能:1. 具有更新信息的通证的工作原理相同;2. 没有更新信息的通证仅在高级模式下为用户显示消息,用户被要求注意“要求额外步骤/访问外部站点”的消息;3. 标记为垃圾邮件/不安全的通证将不会显示消息。[2021/9/28 17:13:12]
背景知识
要理解该事件需要读者有一定的背景知识,现在的浏览器都有自带的书签管理器,在提供便利的同时却也容易被攻击者利用。通过精心构造恶意的钓鱼页面可以让你收藏的书签中插入一段JavaScript代码,当受害者点击书签时会以当前浏览器标签页的域进行执行。
注重隐私的Brave浏览器在3月增加100万新用户:金色财经报道,专注于隐私的互联网浏览器Brave在三月份增加了100万新用户。Brave首席执行官Brendan Eich今天在推特上表示,这使该浏览器的月活跃用户(MAU)达到1350万,日活跃用户(DAU)达到430万。[2020/4/3]
以上图为例,受害者打开了discord.com官网,并在这个页面点击了之前收藏的恶意的书签“Hello,World!”从而执行了一个弹窗语句,可以发现执行的源显示的是discord.com。
这里有一个域的概念,浏览器是有同源策略等防护策略的,按理不属于discord.com做出的操作不应该在discord.com域的页面有响应,但书签却绕过了这个限制。
可以预见书签这么个小功能隐含的安全问题,正常添加书签的方式会明显看到书签网址:
动态 | Opera推出内置加密钱包的安卓浏览器测试版:据ethnews报道,Opera推出内置加密钱包的安卓浏览器测试版,用户可在无需任何额外的PIN或密码的情况下使用加密钱包。[2018/7/12]
稍微有安全意识的读者应该会直接看到网址信息明显存在问题。
当然如果是一个构造好诱导你拖拽收藏到书签栏到页面呢?可以看到Twitter链接中的演示视频就是构造了这么个诱导页面:「Dragthistoyourbookmarked」。
也就是拖着某个链接即可添加到书签栏,只要钓鱼剧本写得足够真实,就很容易让安全意识不足的用户中招。
要实现拖拽即可添加到书签栏只需要构造一个a标签,下面是示例代码:
Hello,World!
书签在点击时可以像在开发者工具控制台中的代码一样执行,并且会绕过CSP策略。
读者可能会有疑问,类似「javascript:()」这样的链接,在添加进入到浏览器书签栏,浏览器竟然会没有任何的提醒?
笔者这里以谷歌和火狐两款浏览器来进行对比。
使用谷歌浏览器,拖拽添加正常的URL链接不会有任何的编辑提醒。
使用谷歌浏览器,拖拽添加恶意链接同样不会有任何的编辑提醒。
使用火狐浏览器如果添加正常链接不会有提醒。
使用火狐浏览器,如果添加恶意链接则会出现一个窗口提醒编辑确认保存。
由此可见在书签添加这方面火狐浏览器的处理安全性更高。
场景演示
演示采用的谷歌浏览器,在用户登录Web端Discord的前提下,假设受害者在钓鱼页面的指引下添加了恶意书签,在DiscordWeb端登录时,点击了该书签,触发恶意代码,受害者的Token等个人信息便会通过攻击者设置好的Discordwebhook发送到攻击者的频道上。
下面是演示受害者点击了钓鱼的书签:
下面是演示攻击者编写的JavaScript代码获取Token等个人信息后,通过DiscordServer的webhook接收到。
笔者补充几点可能会产生疑问的攻击细节:
1.为什么受害者点了一下就获取了?
通过背景知识我们知道,书签可以插入一段JavaScript脚本,有了这个几乎可以做任何事情,包括通过Discord封装好的webpackChunkdiscord_app前端包进行信息获取,但是为了防止作恶的发生,详细的攻击代码笔者不会给出。
2.为什么攻击者会选择Discordwebhook进行接收?
因为Discordwebhook的格式为
“https://discord.com/api/webhooks/xxxxxx”,直接是Discord的主域名,绕过了同源策略等问题,读者可以自行新建一个Discordwebhook进行测试。
3.拿到了Token又能怎么样?
拿到了Token等同于登录了Discord账号,可以做登录Discord的任何同等操作,比如建立一个Discordwebhook机器人,在频道里发布公告等虚假消息进行钓鱼。
总结
攻击时刻在发生,针对已经遭受到恶意攻击的用户,建议立刻采取如下行动进行补救:
立刻重置Discord账号密码。
重置密码后重新登录该Discord账号来刷新Token,才能让攻击者拿到的Token失效。
删除并更换原有的webhook链接,因为原有的webhook已经泄露。
提高安全意识,检查并删除已添加的恶意书签。
作为用户,重要的是要注意任何添加操作和代码都可能是恶意的,Web上会有很多的扩展看起来非常友好和灵活。书签不能阻止网络请求,在用户手动触发执行的那一刻,还是需要保持一颗怀疑的心。
前言:专业人做专业事,市场不可能怜悯和同情任何人,很多时候,获利的机会近在咫尺,可柔爱肠百转、牵肠挂肚的却是以前不理想的画面,不要试图与市场谈恋爱,做错了或错过了,要懂得去总结经验和学习.
1900/1/1 0:00:00亲爱的用户:为回馈广大用户,BKEX现开展"IMPACTXP交易大赛"活动详情如下:一、活动时间2022年4月21日18:00-4月26日18:00二、活动规则1.IMPACTXP交易惊喜活动期.
1900/1/1 0:00:00本文来自?fastcompany,原文作者:ConnieLinOdaily星球日报译者|Moni从最初犹抱琵琶半遮面,到现在千呼万唤始出来.
1900/1/1 0:00:00作为区块链金融行业快速崛起的后起新秀,知名元宇宙生态数字资产交易平台8V.com近年来凭借不凡实力与良好口碑,受到了全球加密投资者与行业媒体广泛关注.
1900/1/1 0:00:00“Gate.io槓桿代幣專區新增DOGE5L/5S!交易DOGE系列槓桿代幣,瓜分價值5000美元獎池!”活動已圓滿結束,感謝大家的參與!我們已爲每一位獲獎用戶發放獎勵.
1900/1/1 0:00:004月18日晚20:00,INO鏈遊合作項目Miracle盲盒正式上線Gate.io,本次發售作品總數2000,單個作品售價60美金,機會有限.
1900/1/1 0:00:00