攻击者利用OpenSea NFT市场智能合约升级实施钓鱼攻击,价值约170万美元的NFT资产被窃。
NFTs是指非同质化代币,具有不可分割、不可替代、独一无二等特点。OpenSea是目前全球最大的综合NFT交易平台,用户可以在平台上铸造、展示、交易、拍卖NFT。近日,有攻击者利用OpenSea NFT市场智能合约升级实施钓鱼攻击,其中17个用户价值约170万美元的NFT资产被窃。
几天前,OpenSea发布公告称将实施合约迁移,为此OpenSea将升级到新的合约。
所有用户需要迁移其以太坊上的NFT列表到新的智能合约,并发布了官方指导,参见:
随后,有黑客利用这一升级过程来发布钓鱼信息。在攻击者,黑客使用与OpenSea发布的信息相同的内容发送给OpenSea用户和受害者:
点击右键中的链接就会将用户转向钓鱼网络,并要求用户签署一个看起来与OpenSea 博客非常像的交易:
签署该交易后,会发送atomicMatch_ request给攻击者的合约,该合约是攻击前1个月创建的,合约地址为(https://etherscan.io/address/0xa2c0946ad444dccf990394c5cbe019a858a945bd):
然后,atomicMatch_会转发给OpenSea合约。OpenSea中的atomicMath是负责OpenSea最小信任的交易的。Atomic表示只有交易中的所有参数都满足的情况下交易才会发发生。这也是OpenSea 平台上NFT 在账号之间迁移的原理。
这也就是为什么攻击者要使用atomicMatch来窃取用户NFT了,因为攻击者利用这类请求可以在一个交易中就窃取所有受害者的NFT。
攻击流程如下所示:
受害者点击钓鱼邮件中的恶意链接;
链接打开一个钓鱼网站,并要求受害者签署一个交易;
签署该交易后,atomicMatch_ 请求会发送给攻击者的合约0xa2c0946ad444dccf990394c5cbe019a858a945bd;
攻击者转发该请求到OpenSea合约atomicMath 0x7be8076f4ea4a4ad08075c2508e481d6c946d12b;
OpenSea合约验证交易的所有参数,并执行该交易(因为所有交易参数都是受害者签署同意的);
OpenSea合约与NFT合约通信,并将NFT从受害者处转给攻击者。
整个流程如下所示:
研究人员查看攻击者账户的交易发现,钱包中有出售窃取的NFT获利的价值超过200万美元的以太币。
https://etherscan.io/address/0x3e0defb880cd8e163bad68abe66437f99a7a8a74#internaltx
本文翻译自:https://blog.checkpoint.com/2022/02/20/new-opensea-attack-led-to-theft-of-millions-of-dollars-in-nfts/如若转载,请注明原文地址