ORD:慢雾:揭露浏览器恶意书签如何盗取你的Discord账户

背景

区块链的世界遵循黑暗森林法则,在这个世界我们随时可能遭受到来自不明的外部攻击,作为普通用户不进行作恶,但是了解黑客的作恶的方式是十分必要的。

慢雾安全团队此前发布了区块链黑暗森林自救手册

,其中提到了不少关于针对NFT项目方的Discord进行攻击的手法,为了帮助读者对相关钓鱼方式有更清晰的认知,本文将揭露其中一种钓鱼方法,即通过恶意的书签来盗取项目方Discord账号的Token,用来发布虚假信息等诱导用户访问钓鱼网站,从而盗取用户的数字资产。

钓鱼事件

先来回顾一起Discord钓鱼事件:2022年3月14日,一则推特称NFT项目WizardPass的Discord社区被者入侵,目前已造成BAYC、Doodles、CloneX等NFT被盗,详情如下:

Synthetix:6月7日Bedrock升级期间,Optimism上所有Synthetix合约将无法访问:5月19日消息,合成资产协议Synthetix发文称,在北京时间6月7日00:00至04:00Optimism主网Bedrock升级期间,Optimism上所有Synthetix合约将无法访问。从5月30日开始,Optimism交易奖励将暂时停止。从北京时间6月5日00:00开始,现有永续合约头寸将关闭,无法开设新头寸。在Bedrock升级前10分钟,即北京时间6月6日23:50,所有永续合约市场将暂停,发行(staker铸造/销毁)将在以太坊与Optimism上暂停,synth交换将在Optimism上暂停,以太坊主网上的所有Synthetix合约都可以访问。之后继续交易奖励将取决于顺利升级与随后恢复交易的情况。在升级期间,Optimism上的所有Synthetix合约将因Optimism停机而无法访问。一旦Bedrock升级完成,所有功能和合约都将解禁并可以访问。[2023/5/20 15:14:41]

牵出其中一个解读:

慢雾创始人发布MetaMask浏览器插件失效解决法方案:2月16日,慢雾创始人在回复社区成员问题时,分享 MetaMask 浏览器插件无法启动解决法方案,在没有备份过助记词/私钥,同时重启插件/电脑均无法解决的情况下,可在电脑本地全局搜索 nkbihfbeogaeaoehlefnkodbefgpgknn,这是 MM 扩展 id,如这个目录下:

C:\\Users\\[User]\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Local Extension Settings

kbihfbeogaeaoehlefnkodbefgpgknn 找到 ldb/log 这些文件,在这些文件里找到如图目标内容。

后用 metamask

)();">2Hello,World!3</a>

书签在点击时可以像在开发者工具控制台中的代码一样执行,并且会绕过CSP(ContentSecurityPolicy)策略。

读者可能会有疑问,类似「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机器人,在频道里发布公告等虚假消息进行钓鱼。

总结

攻击时刻在发生,针对已经遭受到恶意攻击的用户,建议立刻采取如下行动进行补救:

1.立刻重置Discord账号密码。

2.重置密码后重新登录该Discord账号来刷新Token,才能让攻击者拿到的Token失效。

3.删除并更换原有的webhook链接,因为原有的webhook已经泄露。

4.提高安全意识,检查并删除已添加的恶意书签。

作为用户,重要的是要注意任何添加操作和代码都可能是恶意的,Web上会有很多的扩展看起来非常友好和灵活。书签不能阻止网络请求,在用户手动触发执行的那一刻,还是需要保持一颗怀疑的心。

本文到这边就结束了,慢雾安全团队将会揭露更多关于黑暗森林的攻击事件,希望能够帮助到更多加密世界的人。?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-1:215ms