7?月?17 日,据慢雾区情报反馈,Premint 遭遇黑客攻击。慢雾安全团队在第一时间进行分析和预警。
本文来自慢雾区伙伴 Scam Sniffer 的投稿,具体分析如下:
攻击细节
打开任意 Premint 项目页面,可以看到有个 cdn.min.js 注入到了页面中,看调用栈该 js 是由 [boomerang.min.js](https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js) 注入,目前该 s3-redwood-labs-premint-xyz.com 域名已经停止解析,无法正常访问了。
零知识身份预言机提供商zkMe完成200万美元Pre-Seed轮融资,Circle Venture等参投:5月30日消息,零知识身份预言机 zkMe 完成 200 万美元 Pre-Seed 轮融资,Circle Venture、Spartan Group、CMS Holdings、Fenbushi Capital、NGC Ventures、Arkstream Capital 等参投,计划利用新资金加速开发,在一个月内完成主网测试并上线客户注册功能。
ZkMe 允许用户加密他们的数据,并使用 ZKP 在他们自己的设备上证明声明,以有效地验证用户资格,同时保护他们的隐私安全。[2023/5/30 9:49:53]
查询 Whois,该域名在 2022-07-16 注册于 Tucows Domains Inc:
NFT交易市场NeoSwap完成20.25万美元pre-seed轮融资:10月13日消息,根据提交给美国证券交易委员会的文件披露,NFT交易市场在pre-seed轮融资中募集了202,500美元,据该公司创始人兼首席执行官John Ennis透露,他们实际融资金额超过20.25万美元,但他拒绝给出确切数字,但表示他们的初始融资计划是募集50万美元pre-seed轮融资和300万美元种子轮融资。
NeoSwap主要帮助用户分组并重新分配NFT和货币的所有权,推动更多人参与NFT兑换,但该平台目前尚未确定盈利模式。(bizjournals)[2022/10/13 14:26:08]
打开 virustotal.com 可以看到该域名之前曾解析到 CloudFlare:
dVIX完成150万美元Pre-Seed轮融资,将开发以太坊波动性指数:据官方消息,dVIX协议宣布在最近结束的种子前轮融资中,获得150万美元资金,以开发以太坊波动性指数。OKEX,PNYX Ventures,MGNR,Petrock Capital,Dots Capital,Sneaky. VC,Existential Capital和Moonwhale共同参与本次投资。[2021/4/15 20:22:20]
打开源代码可以看到 boomerang.min.js 是 Premint 用到的一个 UI 库:
该 js 是在 s3-redwood-labs.premint.xyz 域名下,猜测:
上传文件接口有漏洞可以上传任意文件到任意 Path (比较常见的 Web 漏洞)
声音 | 经济学家Preston Pysh:比特币是法定债务的解决方案:经济学家Preston Pysh表示,通货膨胀是一种货币供应现象,而不是需求崩溃。他以委内瑞拉为例,并断言该国公民并没有突然降低对本国货币的需求,进一步强调供应是根本原因。他认为,比特币是“解决法定债务这一灾难的技术方案”。 他表示,美元的价值或需求不会很快崩溃,因为人们仍然要缴纳税款和账单。然而,他认为,一旦人们开始持有比特币并将其用作价值储存,他们就不必依靠债务生活,因为他们将不再处于没有钱的情况下。(AMBCrypto)[2019/9/10]
黑客拿到了他们这个 Amazon S3 的权限,从而可以注入恶意代码
这个第三方库被供应链攻击污染了
把 boomerang.min.js 代码下载下来,前面都是正常的代码,但是末尾有一段经过加密的代码:
金色相对论 | DappReviewCEO牛凤轩:区块链可以改造开发商与玩家之间的协作关系:在本期金色相对论之“Dapp游戏”中,针对金色财经内容合伙人佟扬“除了玩法之外,其他层面是否有促成爆发的原因”的提问,DappReview的CEO牛凤轩表示,区块链之于游戏,只是多了一个我们可以使用的技术和工具,而并不是说过去的游戏就要完蛋了或者全部被颠覆,主机游戏从上世纪60年代诞生,时至今日依旧竞争激烈、大作频出,Steam作为端游的分发巨头根本不需要上市和外部资金支持,桌游这种从圈外人看起来很古老的线下小众游戏其实早就是一个百亿的市场还在不断增长。
“区块链游戏”这个名词甚至都是一个伪概念,只是在行业初期,我们用来泛指所有使用了区块链技术的游戏。在最后,这些游戏还是要落地在不同的平台之上。
所以,说区块链能颠覆整个游戏行业?我是不信的,区块链可以改造开发商与玩家之间的协作关系,可以通过引入通证经济和资产代币化增加游戏的经济属性和激励机制,可以让玩家现拥有一个现实世界中实体物品一样的拥有游戏中的虚拟资产,这些是革新,是优化,不是举着一片大旗否定所有传统游戏。最终的状态下,对于大部分玩家来说,区块链植入游戏的体验应该是无感的,游戏只要好玩就可以,至于用没用区块链,这不重要。[2018/12/3]
这段代码负责把代码 s3-redwood-labs-premint-xyz.com/cdn.min.js 注入到页面。
恶意代码 cdn.min.js
根据代码内容,可以大致看到有通过调用 dappradar.com 的接口来查询用户的 NFT 资产列表(此前我们也有看到恶意网站通过 Debank,Opensea 的 API 来查询用户资产等)。
如果用户持有相关 NFT 资产:
恶意代码会以 Two-step wallet 验证的借口,发起 setApprovalForAll 让用户授权给他们后端接口返回的地址(攻击者一般为了提高封禁成本,基本上会分流并且每个地址控制在 200 个交易内)。
如果用户点了 Approve,攻击者还会调用监测代码通知自己有人点击了:
如果当用户地址没有 NFT 资产时,它还会尝试直接发起转移钱包里的 ETH 的资产请求:
另外这种代码变量名加密成 _0xd289 _0x 开头的方式,我们曾经在 play-otherside.org,thesaudisnfts.xyz 这些钓鱼网站也见到过。
根据用户资产发起 setApprovalForAll 或者直接转移 ETH,并且阻止用户使用开发者工具 debug。
预防方式
那么作为普通用户如何预防?现阶段 MetaMask 对 ERC 721 的 setApprovalForAll 的风险提示,远没有 ERC20 的 Approve 做得好。
即使很多新用户无法感知到这个行为的风险,但我们作为普通用户看到带 Approve 之类的交易一定要仔细打开授权给相关地址,看看这些地址最近的交易是否异常(比如清一色的 safeTransferFrom),避免误授权!
这种攻击和上次 Etherscan 上 Coinzilla 利用广告注入恶意的攻击方式挺相似的,那么在技术上有没有可能预防?
理论上如果已知一些恶意 js 代码的行为和特征:
比如说代码的加密方式
恶意代码关键特征
代码会反 debug
会调用 opensea, debank, dappradar 等 API 查询用户资产
根据这些恶意代码的行为特征库,那么我们可以尝试在客户端网页发起交易前,检测页面有没有包含已知恶意特征的代码来探测风险,或者直接更简单一点,对常见的网站设立白名单机制,不是交易类网站发起授权,给到足够的风险提醒等。
接下来 Scam Sniffer 和慢雾安全团队也会尝试探索一下如何在客户端来预防此类的攻击发生!
Ps. 感谢作者 Scam Sniffer 的精彩分析!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。