Transit Swap被黑分析

原文作者:Numen Cyber Labs原文来源:微信公众号

  事件回顾

10月2日,NUMEN实验室根据链上数据监测,发现TokenPocket支持的跨链交易平台聚合器Transit Swap遭到黑客攻击,损失金额巨大。目前黑客地址0x75F2abA6a44580D7be2C4e42885D4a1917bFFD46在以太坊链上有3180个ETH价值4161559美元,在BSC Chain链上有49612个BNB,价值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取消合约授权并且将自己的资金提走。

责任编辑:Felix

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
上一篇 2022年10月5日 下午10:15
下一篇 2022年10月5日 下午10:19

相关推荐

Transit Swap被黑分析

星期三 2022-10-05 22:17:22

  事件回顾

10月2日,NUMEN实验室根据链上数据监测,发现TokenPocket支持的跨链交易平台聚合器Transit Swap遭到黑客攻击,损失金额巨大。目前黑客地址0x75F2abA6a44580D7be2C4e42885D4a1917bFFD46在以太坊链上有3180个ETH价值4161559美元,在BSC Chain链上有49612个BNB,价值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取消合约授权并且将自己的资金提走。

责任编辑:Felix