区块链安全

价值 $160M 的社工钓鱼分析

推特用户 @thomasg_eth 最近发的一条推文引起了广泛关注:
https://twitter.com/thomasg_eth/status/1492663192404779013

大概是说:一改往日要求获取助记词这种低级骗局,博主经历了一场精心定制、资金雄厚的社会工程学攻击。

从一系列推文中,我找出来了如下一些关键账户:

合约分类合约名/ens域名地址
钓鱼质押 nft 合约 GatesStaking0x9A925F57baCDef5cA5d13ecF08bA9EE55A9B0585
thomasg 小号/受害账户0x3C8B28d5047B88f89d14c58A2d89438DaDA024E1
thomasg 大号thomasg.eth0xb1e9D641249A2033C37CF1C241a01E717c2F6c76
钓鱼 nft 合约Mineral Gate0x609e209846e3cd2363905df9fd85cb4b47a0755e
钓鱼 nft 合约Battle Gate 0x3610D80Ef3E2CA614b940A43B8B3ADD4FD09A61B
黑客地址0xBDB3C649e2CC7922E46795dcfAaFB864BE934543
注:给受害者转了 nft 和 0.2eth:
0xcea4e707db7da8194fe9aa5530bc2b83a8358f277ab68a5d91f69f99722af64e
0x35c698244197d368af5dd2ac422b3e3d84e68be6f8eb2e804b2103fe3a1e55bb
黑客地址
0xf93bf9a2392d32adbb6c723519e334ed67fd1fd2
注:给受害者转了 nft:
0xaac6bd949dbf5b7224dc0463e93723d093333abaad15447d7dabfcba8ac9132b
  • 注意,这里的大号是 ens 域名解析到的主账户,里面有很多钱。小号是为了测试骗局项目,而使用的一个新的只有一个 eth 的账户。

这个被骗的过程主要发生在小号上 0x3C8B28d5047B88f89d14c58A2d89438DaDA024E1,其中有 4 笔交易:

那么这场攻击是如何发生的?

也就是交易3的地方,这其实是一场传统的 approve 钓鱼。诈骗团伙发行了一个币名为 ArmstrongWrappedEther,symbol 是 aWETH,这正好和 aave 的 aWETH 重名。然后诈骗团伙同时做了一个 https://www.spacefalcon.io/ 的仿站,然后诱导受害者在自己的前端上给 aWETH 授权,以为授权的是 Armstrong Wrapped Ether,因为同名 token,授权的时候不会显示是 aave 的 aWETH。所以受害者一开始就是跟 aave 的 aWETH 交互的,从而产生了这笔交易。

目前此仿站已关闭

如果受害者将 aave 的 aWETH 授权给了钓鱼质押合约 0x9A925F57baCDef5cA5d13ecF08bA9EE,那么攻击者可以通过调用 spendWalletAWETH 方法转走受害者的 aave aWETH 代币。

而 thomasg.eth 拥有约 42,810 个 aWETH!因此,也可以说这场攻击是有针对性的、量身定制的,堪比 apt 攻击。

接下来说说,黑客为什么那么怕 thomasg 通读合约,其实几个 nft 合约没有任何问题,但通过对黑客地址进行溯源,通过https://etherscan.io/address/0xf93bf9a2392d32adbb6c723519e334ed67fd1fd2#tokentxns,我找到了所谓的 ArmstrongWrappedEther 合约https://etherscan.io/address/0xa44290f2c90f2e39e69b8a2c156d075a61755e1c#code,才发现这代码写的简直离谱。比如,别出心裁的硬编码 mint:

导致钱就奇奇怪怪的 mint 出来了,参考:https://etherscan.io/address/0x85793dd530d3c2a140db601cc1318eb0546df1c6#tokentxns

还有一个问题,攻击者的钱是哪来的?通过对黑客账号 0xBDB3C649e2CC7922E46795dcfAaFB864BE934543 进行查看,我们可以发现从 Tornado 混出了 69 ETH。所以攻击团队也真是资金雄厚。

其实这场社会工程学攻击有一件事站不住脚,就是所谓的 space falcon 项目明明是 solana 上面的项目,为什么变成了 ETH 链上的。

总结:

  • 小号测试项目
  • 通过交易记录查看 approve 记录
  • 通过前端进行授权操作时候检查一下具体的交易详情
  • Etherscan 目前出了 Ethereum Token Approval,可以查看地址的授权记录,也可以方便的取消授权。