链上没有新鲜事儿(3):Tornado.Cash
2022-11-10 16:25
Diary of Owen
2022-11-10 16:25
订阅此专栏
收藏此文章

About 链上没有新鲜事儿:

区块链有公开透明的特性,所有交易就是在链上可见的,完全公开的。你在做什么,他在做什么,通过区块链浏览器都可以看到。这里把日常发现的各种有意思的链上交易、合约发出来(包括不限于骗局、攻击、MEV 等)。老铁们如果发现有意思的交易也可以留言投稿。笔者会一起进行简单分析。


最近看了下 Tornado.Cash。推荐这个Tornado.Cash 看板[1] 各种数据挺全的。可以看出自从 8 月份被制裁了之后,网站被关停,整体使用量有了大幅下滑。尤其是新出的 Tornado.Cash Nova[2] 基本就是停摆的状态。Polygon, OP 等链使用量也基本归零,只有 ETH 和 BSC 上还比较活跃。

有一说一,虽然我挺喜欢 Tornado.Cash 的,但用 Tornado.Cash 的确实没一个好人(狗头)。其实每天只要监控 Tornado.Cash 充提,就可以发现很多攻击 / 骗局。

AscendEX Exploit

比如一天前有人[3]向 Tornado.Cash 充了 400 BNB 进去。

来源则是若干分散的地址。随便点开其中一个地址,这个地址又是来源于多个地址。(均转 1 BNB)

再点开一个,往下追发现来自一年前的一笔转账,来自 AscendEX Hot Wallet

直接 Google 搜索,果然一年前有相关的攻击事件。

一年后才洗走,难道是最近 CZ vs SBF 大战攻击者感觉 BNB 也有风险了么。。

FTE Rug Pull

攻击者是 0xdd3e33525eb9939849d20345972c21fb277eae3c[4],大概存了几千个 BNB,也是 11 月 BSC Tornado.Cash 最大的一批入账。

再往前追发现这个钱来得挺离谱的

这里面的 FTE 代币显示是 https://fite.app/ 项目的代币。

这个 swap 过程就非常离谱,可以看到 FTE 价格突然由 $0.04 暴涨到 $400,只用 100 个 FTE 就直接换到了 100 个 BNB。

不过这个 swap 确实是通过 Pancake 官方 Router 进行的,所以 swap 本身应该是没问题的,问题只能出在 Token 上。

FTE Token 合约[5]竟然还是开源的,重点看 _transfer() 方法,其实是没有什么大问题的,虽然这里有一个可疑的 _antiBot 合约,但代码上看并不能干扰转账的金额,只能通过 revert 的方式使用转账失败。

继续看下去。好家伙,这回是大问题了。确实不控制转账的金额,这是直接控制账户的余额。

_antiBot 合约不开源,还是从交易入手。

这里具体逻辑就不逆向合约去分析了,从 trace 上看,这个余额是根据 PancakePairtotolSupply()WETH 的 balance 去计算的,相当于 swap 后根据剩余的 WETH 量,直接凭空印出对应的 FTE 出来,以通过 Pair 中 K 值的检查。属实是降维打击了。

另一方面由于后门本身就暗藏在 FTE 合约中,所以应该是项目方 Rug Pull 了。

这次 Google 不到相关的信息,在老马的社交媒体网站中搜索一下,有了结果,这回对上了。

参考资料

[1]

Tornado.Cash 看板: https://dune.com/poma/tornado-cash_1

[2]

Tornado.Cash Nova 看板: https://dune.com/k06a/TornadoCash-Nova

[3]

AscendEX  攻击者: https://bscscan.com/address/0x117df76f5d050ed7a1dd5ce9bcc8997a251f3785

[4]

FTE 攻击者: https://debank.com/profile/0xdd3e33525eb9939849d20345972c21fb277eae3c/history

[5]

FTE Token 合约: https://bscscan.com/token/0xe4182e57eeb29fbc2b3469e45c9e385cea8995ab#code

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

在 App 打开