Transit Swap被黑分析

admin 2022年10月5日15:52:09评论133 views字数 1533阅读5分6秒阅读模式

  事件回顾

102日,NUMEN实验室根据链上数据监测,发现TokenPocket支持的跨链交易平台聚合器Transit Swap遭到黑客攻击,损失金额巨大。目前黑客地址0x75F2abA6a44580D7be2C4e42885D4a1917bFFD46在以太坊链上有3180ETH价值4161559美元,在BSC Chain链上有49612BNB,价值14011105美金和一些其他代币。攻击损失接近2100W

  攻击分析

攻击发生在bsc。用户在用Transit Swap进行兑换时,会有一个入口合约(0x8785bb8deae13783b24d7afe250d42ea7d7e9d72),这个入口合约会根据代币的种类选择路径,最后0x0B47275E0Fe7D5054373778960c99FD24F59ff52这个合约会调用0xed1afc8c4604958c2f38a3408fa63b32e737c428这个合约的claimtokens进行转账。

Transit Swap被黑分析


看上图,前面几次调用都是在查余额和查指定的合约有没有调用transferfrom的权限。

从调用0x8785bb8deae13783b24d7afe250d42ea7d7e9d72这个合约开始,这个合约相当于闪兑的入口,接下来调用0x0b47275e0fe7d5054373778960c99fd24f59ff52的callBytes(bytes)函数,这个地方的数据已经是恶意数据了。然后调用0x75fa557bb38daa465f06f5e605e46abe0d5ce9ec这个合约的getFeeRate(address,uint256,uint256,string),查费率。最后调用0xed1afc8c4604958c2f38a3408fa63b32e737c428合约的claimTokens(address,address,address,uint256),这个函数先授权0xed1afc8c4604958c2f38a3408fa63b32e737c428,然后再调用进行转账(应该是函数内部有不同的分支)。授权calldata看下图:

Transit Swap被黑分析


看调用栈,此时transferfrom已经是0xed1afc8c4604958c2f38a3408fa63b32e737c428,有权限调用transferfrom给黑客地址转钱。

参考tx:

0x181a7882aac0eab1036eedba25bc95a16e10f61b5df2e99d240a16c334b9b189

  最后

Erc20协议中,approve授权一直是个问题,已经发生了多起安全事件,同时在跨合约的函数调用时,通过上层调用透传到下层的数据需要谨慎,首先下层对上层给的返回值一定要是不信任的,需要经过正确的校验。熊市,黑客事件频发,各位用户多注意。

目前Transit Swap已经暂停了所有合约交易功能并在努力追踪黑客信息,希望能挽回本次攻击的损失。NUMEN实验室建议使用过Transit Swap去revoke.cash取消合约授权并且将自己的资金提走。

Transit Swap被黑分析

Numen 导航

Numen 官网
https://numencyber.com/ 
GitHub
https://github.com/NumenCyber
Twitter
https://twitter.com/@numencyber
Medium
https://medium.com/@numencyberlabs

LinkedIn

https://www.linkedin.com/company/numencyber/


原文始发于微信公众号(Numen Cyber Labs):Transit Swap被黑分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月5日15:52:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Transit Swap被黑分析http://cn-sec.com/archives/1329975.html

发表评论

匿名网友 填写信息