月亮链 月亮链
Ctrl+D收藏月亮链

DIS:慢雾:揭露浏览器恶意书签如何盗取你的 Discord Token_ISC

作者:

时间:1900/1/1 0:00:00

背景

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

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

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

钓鱼事件

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

牵出其中一个解读:

慢雾:跨链互操作协议Nomad桥攻击事件简析:金色财经消息,据慢雾区消息,跨链互操作协议Nomad桥遭受黑客攻击,导致资金被非预期的取出。慢雾安全团队分析如下:

1. 在Nomad的Replica合约中,用户可以通过send函数发起跨链交易,并在目标链上通过process函数进行执行。在进行process操作时会通过acceptableRoot检查用户提交的消息必须属于是可接受的根,其会在prove中被设置。因此用户必须提交有效的消息才可进行操作。

2. 项目方在进行Replica合约部署初始化时,先将可信根设置为0,随后又通过update函数对可信根设置为正常非0数据。Replica合约中会通过confirmAt映射保存可信根开始生效的时间以便在acceptableRoot中检查消息根是否有效。但在update新根时却并未将旧的根的confirmAt设置为0,这将导致虽然合约中可信根改变了但旧的根仍然在生效状态。

3. 因此攻击者可以直接构造任意消息,由于未经过prove因此此消息映射返回的根是0,而项目方由于在初始化时将0设置为可信根且其并未随着可信根的修改而失效,导致了攻击者任意构造的消息可以正常执行,从而窃取Nomad桥的资产。

综上,本次攻击是由于Nomad桥Replica合约在初始化时可信根被设置为0x0,且在进行可信根修改时并未将旧根失效,导致了攻击可以构造任意消息对桥进行资金窃取。[2022/8/2 2:52:59]

该解读里说的bookmark就是浏览器书签,这个书签里的内容可以是一段JavaScript恶意代码,当Discord用户点击时,恶意JavaScript代码就会在用户所在的Discord域内执行,盗取DiscordToken,攻击者获得项目方的DiscordToken后就可以直接自动化接管项目方的Discord账户相关权限。

慢雾:警惕 Terra 链上项目被恶意广告投放钓鱼风险:据慢雾区情报,近期 Terra 链上部分用户的资产被恶意转出。慢雾安全团队发现从 4 月 12 日开始至 4 月 21 日约有 52 个地址中的资金被恶意转出至 terra1fz57nt6t3nnxel6q77wsmxxdesn7rgy0h27x30 中,当前总损失约 431 万美金。

经过慢雾安全追踪分析确认,此次攻击为批量谷歌关键词广告投放钓鱼,用户在谷歌搜索如:astroport,nexus protocol,anchor protocol 等这些知名的 Terra 项目,谷歌结果页第一条看似正常的广告链接(显示的域名甚至是一样的)实为钓鱼网站。 一旦用户不注意访问此钓鱼网站,点击连接钱包时,钓鱼网站会提醒直接输入助记词,一旦用户输入并点击提交,资产将会被攻击者盗取。

慢雾安全团队建议 Terra 链上用户保持警惕不要随便点击谷歌搜索出来的链接或点击来历不明的链接,减少使用常用钱包进行非必要的操作,避免不必要的资损。[2022/4/21 14:37:55]

背景知识

要理解该事件需要读者有一定的背景知识,现在的浏览器都有自带的书签管理器,在提供便利的同时却也容易被攻击者利用。通过精心构造恶意的钓鱼页面可以让你收藏的书签中插入一段JavaScript代码,当受害者点击书签时会以当前浏览器标签页的域进行执行。

慢雾:ERC721R示例合约存在缺陷,本质上是由于owner权限过大问题:4月12日消息,据@BenWAGMI消息,ERC721R示例合约存在缺陷可导致项目方利用此问题进行RugPull。据慢雾安全团队初步分析,此缺陷本质上是由于owner权限过大问题,在ERC721R示例合约中owner可以通过setRefund Address函数任意设置接收用户退回的NFT地址。

当此退回地址持有目标NFT时,其可以通过调用refund函数不断的进行退款操作从而耗尽用户在合约中锁定的购买资金。且示例合约中存在owner Mint函数,owner可在NFT mint未达总供应量的情况下进行mint。因此ERC721R的实现仍是防君子不防小人。慢雾安全团队建议用户在参与NFTmint时不管项目方是否使用ERC721R都需做好风险评估。[2022/4/12 14:19:58]

以上图为例,受害者打开了discord.com官网,并在这个页面点击了之前收藏的恶意的书签“Hello,World!”从而执行了一个弹窗语句,可以发现执行的源显示的是discord.com。

慢雾:Cover协议被黑问题出在rewardWriteoff具体计算参数变化导致差值:2020年12月29日,慢雾安全团队对整个Cover协议被攻击流程进行了简要分析。

1.在Cover协议的Blacksmith合约中,用户可以通过deposit函数抵押BPT代币;

2.攻击者在第一次进行deposit-withdraw后将通过updatePool函数来更新池子,并使用accRewardsPerToken来记录累计奖励;

3.之后将通过_claimCoverRewards函数来分配奖励并使用rewardWriteoff参数进行记录;

4.在攻击者第一次withdraw后还留有一小部分的BPT进行抵押;

5.此时攻击者将第二次进行deposit,并通过claimRewards提取奖励;

6.问题出在rewardWriteoff的具体计算,在攻击者第二次进行deposit-claimRewards时取的Pool值定义为memory,此时memory中获取的Pool是攻击者第一次withdraw进行updatePool时更新的值;

7.由于memory中获取的Pool值是旧的,其对应记录的accRewardsPerToken也是旧的会赋值到miner;

8.之后再进行新的一次updatePool时,由于攻击者在第一次进行withdraw后池子中的lpTotal已经变小,所以最后获得的accRewardsPerToken将变大;

9.此时攻击者被赋值的accRewardsPerToken是旧的是一个较小值,在进行rewardWriteoff计算时获得的值也将偏小,但攻击者在进行claimRewards时用的却是池子更新后的accRewardsPerToken值;

10.因此在进行具体奖励计算时由于这个新旧参数之前差值,会导致计算出一个偏大的数值;

11.所以最后在根据计算结果给攻击者铸造奖励时就会额外铸造出更多的COVER代币,导致COVER代币增发。具体accRewardsPerToken参数差值变化如图所示。[2020/12/29 15:58:07]

这里有一个域的概念,浏览器是有同源策略等防护策略的,按理不属于discord.com做出的操作不应该在discord.com域的页面有响应,但书签却绕过了这个限制。

动态 | 慢雾:2020年加密货币勒索蠕虫已勒索到 8 笔比特币:慢雾科技反(AML)系统监测:世界最早的知名加密货币勒索蠕虫 WannaCry 还在网络空间中苟延残喘,通过对其三个传播版本的行为分析,其中两个最后一次勒索收到的比特币分别是 2019-04-22 0.0584 枚,2019-09-01 0.03011781 枚,且 2019 年仅发生一次,另外一个 2020 还在活跃,2020 开始已经勒索收到 8 笔比特币支付,但额度都很低 0.0001-0.0002 枚之间。这三个传播版本第一次发生的比特币收益都是在 2017-05-12,总收益比特币 54.43334953 枚。虽然收益很少,但 WannaCry 可以被认为是加密货币历史上勒索作恶的鼻主蠕虫,其传播核心是 2017-04-13 NSA 方程式组织被 ShdowBrokers(影子经纪人) 泄露第三批网络军火里的“永恒之蓝”(EternalBlue)漏洞,其成功的全球影响力且匿名性为之后的一系列勒索蠕虫(如 GandCrab)带来了巨大促进。[2020/2/23]

可以预见书签这么个小功能隐含的安全问题,正常添加书签的方式会明显看到书签网址:

稍微有安全意识的读者应该会直接看到网址信息明显存在问题。

当然如果是一个构造好诱导你拖拽收藏到书签栏到页面呢?可以看到twitter链接中的演示视频就是构造了这么个诱导页面:”Dragthistoyourbookmarked”。

也就是拖着某个链接即可添加到书签栏,只要钓鱼剧本写得足够真实,就很容易让安全意识不足的用户中招。

要实现拖拽即可添加到书签栏只需要构造一个a标签,下面是示例代码:

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

读者可能会有疑问,类似“javascript:()”这样的链接,在添加进入到浏览器书签栏,浏览器竟然会没有任何的提醒?

笔者这里以谷歌和火狐两款浏览器来进行对比。

使用谷歌浏览器,拖拽添加正常的URL链接不会有任何的编辑提醒。

使用谷歌浏览器,拖拽添加恶意链接同样不会有任何的编辑提醒。

使用火狐浏览器如果添加正常链接不会有提醒。

使用火狐浏览器,如果添加恶意链接则会出现一个窗口提醒编辑确认保存。

由此可见在书签添加这方面火狐浏览器的处理安全性更高。

场景演示

演示采用的谷歌浏览器,在用户登录Web端Discord的前提下,假设受害者在钓鱼页面的指引下添加了恶意书签,在Discord?Web端登录时,点击了该书签,触发恶意代码,受害者的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上会有很多的扩展看起来非常友好和灵活。书签不能阻止网络请求,在用户手动触发执行的那一刻,还是需要保持一颗怀疑的心。

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

By:耀@慢雾安全团队

标签:DISISCSCORORDDIS币FiscusFYISCOR币Crying Jordan

比特币价格热门资讯
DOS:金色趋势丨知史鉴今 大盘趋势不可逆_DDOS

金色晨讯 | 8月5日隔夜重要动态一览:21:00-7:00关键词:俄罗斯联邦储蓄银行、美国SEC、黎巴嫩 1.俄罗斯联邦储蓄银行正考虑发行稳定币.

1900/1/1 0:00:00
以太坊:一周必读10篇 | 消除碳足迹 以太坊合并四大支柱重振生态信心_以太坊币价格今日行情价格

1.消除碳足迹?以太坊合并四大支柱重振生态信心与权益证明的合并将是迄今为止对以太坊最深刻的升级,其重要性仅次于创世区块。这将是让世界看到一个主要的、分散的系统如何在实际上消除其碳足迹的例子.

1900/1/1 0:00:00
比特币:金色观察|各方点评:美联储5月议息会议释放鸽派信号_OMC

北京时间周四凌晨,美联储货币政策委员会发布五月决议,美联储通过会议决定将美国联邦基金利率增加0.5%(即上涨50个基点),以降低美国高企的通胀率。加息后,联邦基金利率区间增至0.75%到1%.

1900/1/1 0:00:00
ENS:ENS数字域名市场爆火背后的冷思考_BBNFT

风乍起,吹皱NFT市场一池春水。不吹不黑,接下来的thread,我将基于过去几天对@ensdomain数字域名市场的深入观察,并结合@duneanalytics上的链上数据的客观反应,谈一谈我对.

1900/1/1 0:00:00
比特币:富达将允许用养老金账户投资比特币_TAL

加密货币的拥护者和对其感到好奇的人突然发现,资产管理巨头富达将开始允许投资者将比特币存入他们的401退休储蓄账户里了。从税收角度看,这似乎是个人以有利方式获得这一新兴资产类别的一种简单方式.

1900/1/1 0:00:00
元宇宙:元宇宙健身 究竟是游戏还是运动?_ghostface币官网

与彭于晏一起健身是什么体验?如今的虚拟技术真的能让你得偿所愿。国内著名的健身应用Keep已经开始尝试与虚拟形象进行跨界健身互动.

1900/1/1 0:00:00