背景
区块链的世界遵循黑暗森林法则,在这个世界我们随时可能遭受到来自不明的外部攻击,作为普通用户不进行作恶,但是了解黑客的作恶的方式是十分必要的。
慢雾安全团队此前发布了区块链黑暗森林自救手册
(https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook),其中提到了不少关于针对 NFT 项目方的 Discord 进行攻击的手法,为了帮助读者对相关钓鱼方式有更清晰的认知,本文将揭露其中一种钓鱼方法,即通过恶意的书签来盗取项目方 Discord 账号的 Token,用来发布虚假信息等诱导用户访问钓鱼网站,从而盗取用户的数字资产。
钓鱼事件
先来回顾一起 Discord 钓鱼事件:2022 年 3 月 14 日,一则推特称 NFT 项目 Wizard Pass 的 Discord 社区被者入侵,目前已造成 BAYC、Doodles、Clone X 等 NFT 被盗,详情如下:
(来源:https://twitter.com/SerpentAU/status/1503232270219431941)
牵出其中一个解读:
韩国将20%的加密税推迟至2025年:7月21日消息,根据韩国政府今日公布的《2022年税收改革法案》,政府决定将原计划从2023年1月1日开始实行的虚拟资产征税推迟2年。因此,对虚拟资产征税将于2025年1月1日生效。
据悉,该税法的征收对象是通过转让或借出虚拟资产产生的收入。如果购买和出售比特币等虚拟资产的收入超过每年250万韩元,超出部分将征收20%的所得税。(New1)[2022/7/21 2:28:35]
(来源:https://twitter.com/sentinelwtf/status/1496293768542429187)
该解读里说的 bookmark 就是浏览器书签,这个书签里的内容可以是一段 JavaScript 恶意代码,当 Discord 用户点击时,恶意 JavaScript 代码就会在用户所在的 Discord 域内执行,盗取 Discord Token,攻击者获得项目方的 Discord Token 后就可以直接自动化接管项目方的 Discord 账户相关权限。
背景知识
要理解该事件需要读者有一定的背景知识,现在的浏览器都有自带的书签管理器,在提供便利的同时却也容易被攻击者利用。通过精心构造恶意的钓鱼页面可以让你收藏的书签中插入一段 JavaScript 代码,当受害者点击书签时会以当前浏览器标签页的域进行执行。
矿业基础设施公司GRIID从Blockchain.com获得5.25亿美元信贷:金色财经报道,矿业基础设施公司GRIID已从加密货币交易所和钱包提供商Blockchain.com获得了5.25亿美元的信贷额度。总部位于俄亥俄州辛辛那提的GRIID表示,四年期信贷额度将用于增加采矿能力,利用现有能源合作伙伴提供的1,300多兆瓦可用电力。(Coindesk)[2021/11/23 7:05:08]
以上图为例,受害者打开了 discord.com 官网,并在这个页面点击了之前收藏的恶意的书签“Hello,World!” 从而执行了一个弹窗语句,可以发现执行的源显示的是 discord.com。
这里有一个域的概念,浏览器是有同源策略等防护策略的,按理不属于 discord.com 做出的操作不应该在 discord.com 域的页面有响应,但书签却绕过了这个限制。
可以预见书签这么个小功能隐含的安全问题,正常添加书签的方式会明显看到书签网址:
稍微有安全意识的读者应该会直接看到网址信息明显存在问题。
当然如果是一个构造好诱导你拖拽收藏到书签栏到页面呢?可以看到 twitter 链接中的演示视频就是构造了这么个诱导页面:”Drag this to your bookmarked”。
加密货币以太坊短线走高,站上1700美元/枚:行情显示,加密货币以太坊短线走高,站上1700美元/枚。[2021/3/24 19:13:23]
也就是拖着某个链接即可添加到书签栏,只要钓鱼剧本写得足够真实,就很容易让安全意识不足的用户中招。
要实现拖拽即可添加到书签栏只需要构造一个 a 标签,下面是示例代码:
书签在点击时可以像在开发者工具控制台中的代码一样执行,并且会绕过 CSP(Content Security Policy)策略。
读者可能会有疑问,类似 “javascript:()” 这样的链接,在添加进入到浏览器书签栏,浏览器竟然会没有任何的提醒?
笔者这里以谷歌和火狐两款浏览器来进行对比。
使用谷歌浏览器,拖拽添加正常的 URL 链接不会有任何的编辑提醒。
使用谷歌浏览器,拖拽添加恶意链接同样不会有任何的编辑提醒。
使用火狐浏览器如果添加正常链接不会有提醒。
使用火狐浏览器,如果添加恶意链接则会出现一个窗口提醒编辑确认保存。
由此可见在书签添加这方面火狐浏览器的处理安全性更高。
场景演示
演示采用的谷歌浏览器,在用户登录 Web 端 Discord 的前提下,假设受害者在钓鱼页面的指引下添加了恶意书签,在 Discord Web 端登录时,点击了该书签,触发恶意代码,受害者的 Token 等个人信息便会通过攻击者设置好的 Discord webhook 发送到攻击者的频道上。
下面是演示受害者点击了钓鱼的书签:
下面是演示攻击者编写的 JavaScript 代码获取 Token 等个人信息后,通过 Discord Server 的 webhook 接收到。
笔者补充几点可能会产生疑问的攻击细节:
1. 为什么受害者点了一下就获取了?
通过背景知识我们知道,书签可以插入一段 JavaScript 脚本,有了这个几乎可以做任何事情,包括通过 Discord 封装好的 webpackChunkdiscord_app 前端包进行信息获取,但是为了防止作恶的发生,详细的攻击代码笔者不会给出。
2. 为什么攻击者会选择 Discord webhook 进行接收?
因为 Discord webhook 的格式为
“https://discord.com/api/webhooks/xxxxxx”,直接是 Discord 的主域名,绕过了同源策略等问题,读者可以自行新建一个 Discord webhook 进行测试。
3. 拿到了 Token 又能怎么样?
拿到了 Token 等同于登录了 Discord 账号,可以做登录 Discord 的任何同等操作,比如建立一个 Discord webhook 机器人,在频道里发布公告等虚假消息进行钓鱼。
总结
攻击时刻在发生,针对已经遭受到恶意攻击的用户,建议立刻采取如下行动进行补救:
1. 立刻重置 Discord 账号密码。
2. 重置密码后重新登录该 Discord 账号来刷新 Token,才能让攻击者拿到的 Token 失效。
3. 删除并更换原有的 webhook 链接,因为原有的 webhook 已经泄露。
4. 提高安全意识,检查并删除已添加的恶意书签。
作为用户,重要的是要注意任何添加操作和代码都可能是恶意的,Web 上会有很多的扩展看起来非常友好和灵活。书签不能阻止网络请求,在用户手动触发执行的那一刻,还是需要保持一颗怀疑的心。
本文到这边就结束了,慢雾安全团队将会揭露更多关于黑暗森林的攻击事件,希望能够帮助到更多加密世界的人。
By:耀@慢雾安全团队
标签:DISSCORDISCORDNeon DistrictSCORGI价格DisCas VisionORDI币会爆涨吗
最近看到一篇文章,说中国互联网大厂员工正在向Web3.0公司迁徙。 他们要逃离现有岗位,追寻新的革命理想。 2022年的Web3.0,那就是1999年的Web1.0。 看到这里,差点一口老血喷了出来。 你活在什么样的平行世界?可以想像出这么美好的未来。
基本面分析是区块链/加密货币领域不可或缺的投资和交易策略之一。因此,DAOrayaki社区编译《衡量加密项目时的17个重要因素》一文。以下,是17个相关因素,同时我将分享一些实际案例,让我们开始!。
原文标题:《让大家狂刷 ENS 的 Linkkey 是什么?》 昨日下午推特和群里突然炒起了 ENS,什么「3 位数 4 位数都被注册了」,「小心有人用小写 L 代替 1」等等言论到处都是,ENS 的交易量也是直线拉升。 查了查信息,发现是因为一个叫 10kclub 的 ENS 域名俱乐部突然开始大批注册 3 位及 4 位数字组成的 ENS 域名。
本文不构成任何投资建议。个案的裁判结果亦不代表任何所谓的监管新动向。呼吁大家严格遵守《关于进一步防范和处置虚拟货币交易炒作风险的通知》等相关规定。 近日,北京某区人民法院公开开庭审理了一起出借莱特币引发纠纷的民事案件。
谈到NFT,大多数人联想到的是价格惊人的数字艺术品或者P2E游戏中的可交易物品。但俱乐部、公司和创作者正向NFT中注入全新的应用:会员制NFT。 (本文来源于Coindesk,Benedict George撰文,Fenbushi Caital翻译。
黑客攻击如今已然成为加密生态中的常态化事件,据 Chainalysis 2022 年 Q1 报告显示,黑客在 2021 年盗取价值 32 亿美元的加密资产,但在 2022 年前三个月,黑客从交易所、DeFi 协议和普通用户盗取约 13 亿美元加密资产,其中 97% 来自 DeFi 协议。