事件背景
5月25日,推特用户?@0xLosingMoney?称监测到ID为?@Dvincent_?的用户通过钓鱼网站p2peers.io盗走了29枚Moonbirds系列NFT,价值超70万美元,钓鱼网站目前已无法访问。该用户表示,域名sarek.fi和p2peers.io都曾在过去的黑客事件中被使用。
搜集相关信息
慢雾安全团队收到相关情报并针对此次被盗事件进行朔源分析。
我们开始在Twitter上搜集并分析此钓鱼事件的相关信息时,发现?@Dvincent_?就是黑客的Twitter账号,目前该账户已经被注销。而根据5月10日的记录,推特用户?@just1n_eth就表示?@Dvincent_?曾与其联系交易BAYCNFT,但由于对方坚持使用p2peers.io,交易最后并未达成。
在该推特评论下用户@jbe61表示自己曾遇到同一个人并给出了对话截图:
5月25日晚,@0xLosingMoney?继续在Twitter公布了黑客的钱包等相关信息。
下面是?@0xLosingMoney?给出的黑客地址:
?0xe8250Bb4eFa6D9d032f7d46393CEaE18168A6B0D
?0x8e73fe4d5839c60847066b67ea657a67f42a0adf
慢雾:过去一周Web3因安全事件损失约265万美元:7月17日消息,慢雾发推称,2023年7月10日至7月16日期间,Web3发生5起安全事件,总损失为265.5万美元,包括Arcadia Finance、Rodeo Finance、LibertiVault、Platypus、Klever。[2023/7/17 10:59:08]
?0x6035B92fd5102b6113fE90247763e0ac22bfEF63
?0xBf41EFdD1b815556c2416DcF427f2e896142aa53
?0x29C80c2690F91A47803445c5922e76597D1DD2B6
相关地址分析
由于整个被盗事件都提到“p2peers.io”这个钓鱼网站,所以我们从此处开始入手。这个在芬兰某域名公司注册的p2peers网站已被暂停使用,我们最终在谷歌网页快照中寻找到了该网站首页的信息。
根据网页快照可以发现?https://p2peers.io/?的前端代码,其中主要的JS代码是“js/app.eb17746b.js”。
由于已经无法直接查看JS代码,利用?Cachedview?网站的快照历史记录查到在2022年4月30日主要的JS源代码。
通过对JS的整理,我们查到了代码中涉及到的钓鱼网站信息和交易地址。
慢雾:正协助Poly Network追查攻击者,黑客已实现439万美元主流资产变现:7月2日消息,慢雾首席信息安全官23pds在社交媒体发文表示,慢雾团队正在与Poly Network官方一起努力追查攻击者,并已找到一些线索。黑客目前已实现价值439万美元的主流资产变现。[2023/7/2 22:13:24]
在代码912行发现approve地址:
0x7F748D5fb52b9717f83Ed69f49fc4c2f15d83b6A
在代码3407行同样发现关于approve相关操作的地址:
0xc9E39Ad832cea1677426e5fA8966416337F88749
我们开始分析这两个地址的交易记录:
0x7F748D5fb52b9717f83Ed69f49fc4c2f15d83b6A
0xc9E39Ad832cea1677426e5fA8966416337F88749
首先在Etherscan查询发现0x7F7...b6A?是一个恶意合约地址:
而这个恶意合约的创建者是地址:0xd975f8c82932f55c7cef51eb4247f2bea9604aa3,发现这个地址有多笔NFT交易记录:
我们在NFTGO网站进一步查看,根据该地址目前NFT持有情况,发现被盗NFT目前都停留在此地址上还没有售出,总价值约为225,475美元。
慢雾:近期出现假冒UniSat的钓鱼网站,请勿交互:5月13日消息,慢雾首席信息安全官 @IM_23pds 在社交媒体上发文表示,近期有假冒比特币铭文钱包及交易市场平台 UniSat 的钓鱼网站出现,经慢雾分析,假网站有明显的传统针对 ETH、NFT 钓鱼团伙的作案特征,或因近期 BRC-20 领域火热故转而制作有关该领域的钓鱼网站,请用户注意风险,谨慎辨别。[2023/5/13 15:01:11]
而使用NFTSCAN发现NFT数量一共是21个,价值96.5枚ETH。
继续使用MistTrack分析攻击者地址交易历史:
可以发现该地址的ETH交易次数并不多只有12次,余额只有0.0615枚ETH。
0xc9E39Ad832cea1677426e5fA8966416337F88749也是合约地址,合约创建者是0x6035B92fd5102b6113fE90247763e0ac22bfEF63,这个地址在@0xLosingMoney公布的黑客地址名单中也有提到。
使用?MistTrack发现这个地址余额同样不多,入账有21笔而出账有?97笔,其中已转出共?106.2枚?ETH。
查看入账和出账信息,可以发现多笔转到Tornado.Cash,说明黑客已经通过各种手法将盗来的币进行来转移。
慢雾:Transit Swap黑客攻击交易被抢跑,套利机器人获利超100万美元:10月1日消息,据慢雾安全团队情报,Transit Swap 黑客转移用户 BSC 链 BUSD 资产时被套利机器人抢跑,区块高度为21816885,获利107万BUSD。套利机器人相关地址列表如下:0xa957...70d2、0x90b5...8ff4、0xcfb0...7ac7、
截止到目前,在各方的共同努力下,黑客已将 70% 左右的被盗资产退还到Transit Swap开发者地址,建议套利机器人所属人同样通过service@transit.finance或链上地址与Transit Swap取得联系,共同将此次被盗事件的受害用户损失降低到最小。[2022/10/2 18:37:44]
黑客使用moralis服务作恶
我们在JS代码409行发现使用到了域名为usemoralis.com的服务接口:
其中2053端口是API地址,而2083端口则是后台登录地址。
通过查询发现usemoralis.com这个域名上有大量NFT相关网站,其中不少是属于钓鱼网站。
通过谷歌搜索发现不少NFT的站点,并发现多个子域信息。
于是我们遍历和查询usemoralis.com的子域名,发现共存在3千多个相关子域站点部署在cloudflare上。
慢雾: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]
进一步了解我们发现这些站点都是来自moralis提供的服务:
moralis是一个专门提供针对Web3开发和构建DApps的服务。
我们发现注册后就可以得到接口地址和一个管理后台,这使得制作钓鱼网站作恶成本变得非常低。
发现后台并关联到钓鱼事件
继续分析JS代码,在368行发现有将受害者地址提交到网站域名为pidhnone.se的接口。
经过统计,域名为pidhnone.se的接口有:
https://pidhnone.se/api/store/log
https://pidhnone.se/api/self-spoof/
https://pidhnone.se/api/address/
https://pidhnone.se/api/crypto/
进一步分析发现https://pidhnone.se/login其实是黑客操作的控制后台,用来管理资产等信息。
根据后台地址的接口拼接上地址,可以看到攻击地址和受害者的地址。
后台还存留关于图片信息和相关接口操作说明文字,可以看出来是非常明显的网站操作说明。
我们分析后台里面涉及的信息,如图片:
https://pidhnone.se/images/recent.png?f53959585e0db1e6e1e3bc66798bf4f8
https://pidhnone.se/images/2.gif?427f1b04b02f4e7869b1f402fcee11f6
https://pidhnone.se/images/gif.gif?24229b243c99d37cf83c2b4cdb4f6042
https://pidhnone.se/images/landing.png?0732db576131facc35ac81fa15db7a30
https://pidhnone.se/images/ss-create.png?1ad1444586c2c3bb7d233fbe7fc81d7d
https://pidhnone.se/images/self-spoof.png?25e4255ee21ea903c40d1159ba519234
这里面涉及黑客历史使用过的的钓鱼网站信息,如nftshifter.io:
以nftshifter.io这个钓鱼网站为例:
在Twitter上查找相关记录可以看到2022年3月25日有受害者访问过该钓鱼网站并公布出来。
使用相同的方式分析?nftshifter.io:
得到?JS?源代码并进行分析:
可以发现同样也是采用moralis的服务和https://pidhnone.se/这个后台进行控制。
其中相关的恶意地址:
钓鱼者合约:
0x8beebade5b1131cf6957f2e8f8294016c276a90f
合约创建者:
0x9d194CBca8d957c3FA4C7bb2B12Ff83Fca6398ee
创建合约时间:
Mar-24-202209:05:33PM+UTC?
同时我们发现与这个攻击者相同的恶意合约代码有9个:
随机看一个恶意合约0xc9E...749,创建者地址为
0x6035B92fd5102b6113fE90247763e0ac22bfEF63:
相同的手法,都已经洗币。每个恶意合约上都已经有受害者的记录,此处不一一分析。
我们再来看下受害者时间:
刚好是在攻击者创建恶意钓鱼之后,有用户上当受。
攻击者已将NFT售出,变卖为ETH,我们使用MistTrack分析攻击者地址
0x9d194cbca8d957c3fa4c7bb2b12ff83fca6398ee:
可以看到51ETH已经转入Tornado.Cash洗币。同时,目前?Twitter上攻击者的账户?@nftshifter_io?已经被冻结无法查看。
总结
可以确认的是,攻击一直在发生,而且有成熟的产业链。截止到发文前黑客地址仍有新的NFT入账和交易进行。黑客进行钓鱼攻击往往已成规模化批量化,制作一个钓鱼模版就可以批量复制出大量不同NFT项目的钓鱼网站。当作恶成本变得非常低的时候,更需要普通用户提高警惕,加强安全意识,时刻保持怀疑,避免成为下一个受害者。
如何避免陷入欺诈的境地?慢雾安全团队建议如下:
1.不要点击来源不明的链接或附件,不要随意泄露您的助记词
2.使用强密码并启用双重身份验证以保护您的帐户。
3.不确定的情况下,向多方进行验证确认。
4.不要在网上传输敏感信息,攻击者可以通过分析这些信息和数据向用户发送有针对性的网络钓鱼电子邮件。
5.建议阅读:《区块链黑暗森林自救手册》
https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook/blob/main/README_CN.md
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。