北京时间2022年7月17日,CertiK安全团队监测到知名NFT平台Premint NFT官网被入侵后于今日遭受黑客攻击。导致了约37.5万美元的损失。
漏洞分析
黑客将恶意JavaScript代码上传至项目官网https://premint.xyz,恶意代码通过URL注入网站:https://s3-redwood-labs-premint-xyz[.]com/cdn.min.js?v=1658046560357,目前域名服务器不再存在,因此恶意文件不再可用。
该攻击导致用户在将他们的钱包连接到该网站时会被指示 "全部批准(set approvals for all)",从而使得攻击者可访问钱包中的资产。
链上分析
有六个外部拥有账户 (EOAs)与此次攻击直接相关
-
0x28733...
-
0x0C979...
-
0x4eD07...
-
0x4499b...
-
0x99AeB...
-
0xAAb00...
根据CertiK的评估,此次攻击开始于北京时间7月17日下午03:25,即为第一批被盗的NFT进入两个黑客账户的时间——恶意代码也许正是此时被上传至项目官网的。
一位用户声称2个Goblintown NFTs被盗
在OpenSea上搜索这两个NFT,可以看到它们是如何交易的。同样,也可以通过搜索找到窃取NFT的钱包——EOA 0x0C979…
通过监测NFT的流动,我们发现该钱包完美符合Discord网络钓鱼攻击的典型模式:大量资产流入,随后被迅速抛售。该钱包的第一笔入账交易来自0xAAb00F……,其也为0x28733……提供了资金。
重复上述检测,可以确认0x28733……也参与了黑客攻击。
一名受害者发帖称,他们的Moonbirds Oddities被盗
在Etherscan搜索用户名称,显示Moonbird NFT被交易至EOA 0x28733……
该地址的流动模式与EOA 0x0C979…相同——大量资产流入,随后被迅速抛售。
这两个钱包地址共计盗取了包括BAYC、Otherside、Globlintownm在内的314个NFT(价值约37.5万美元),
针对这次攻击,Premint的推特账户发布了一个警告:不要签署“全部批准(set approvals for all)”的交易,并指示那些怀疑自己被黑客攻击的用户如何联系revoke.cash来取回他们的资产。
目前幸运的是其中两个外部账户似乎已经被发现。受害者正在联系revoke.cash以取回他们的资金。
资产去向
272 ETH (价值约37万美元) 目前存储于:https://etherscan.io/address/0x99aeb028e43f102c5776f6b652952be540826bf4。
其余2.68 ETH(价值约3636美元)存储于:https://etherscan.io/address/0xaab00f612d7ded169e51cf0142d48ff560f281f3
此次攻击事件的部分黑客交易尚在等待处理中。
写在最后
The Bored Ape Yacht Club NFT (BAYC) 网络钓鱼攻击事件(损失约31.9万美元)及NFT艺术家 Beeple的Twitter账户被盗事件(导致其粉丝损失了价值约43.8万美元的NFT和加密货币)已充分说明了Web2.0在中心化问题上的脆弱性。
为了避免这种情况的发生,Web3.0项目应该始终围绕中心化风险和单点故障建立去中心化措施——多重签名、要求多个用户在访问特权账户时进行身份验证,并在每次交互后撤销特权。