TOK:慢雾:跨链 DEX 聚合器 Transit Swap 因任意外部调用问题被黑,被盗资金规模超 2300 万美元

据慢雾安全团队情报,2022年10月2号跨链DEX聚合器TransitSwap项目遭到攻击,导致用户资产被非预期的转出。

慢雾安全团队分析评估此次被盗资金规模超过2300万美元,黑客地址为0x75F2...FD46和0xfa71...90fb。接着对此次攻击过程进行了分析:

1.当用户在TransitSwap进行swap时,会先通过路由代理合约(0x8785bb...)根据不同的兑换类型选择不同的路由桥合约。随后路由桥合约(0x0B4727...)会通过权限管理合约(0xeD1afC...)的claimTokens函数将用户待兑换的代币转入路由桥合约中。因此在代币兑换前用户需要先对权限管理合约(0xeD1afC...)进行授权。

慢雾:AToken钱包疑似遭受攻击 用户反馈钱包中资产被盗:据慢雾区情报,近期 AToken 钱包(atoken.com)疑似遭受到攻击,用户在使用 AToken 钱包后,币被偷偷转移走。目前已经有较多的用户反馈钱包中的资产被盗。AToken 钱包官方推特在2021年12月20日发布了停止运营的声明。官方 TG 频道中也有多位用户反馈使用 AToken 钱包资产被盗了,但是并没有得到 AToken 团队的回复和处理。

如果有使用 AToken 钱包的用户请及时转移资产到安全的钱包中。具体可以参考如下操作:

1. 立即将 AToken 钱包中的相关的资产转移到新的钱包中。

2. 废弃导入 AToken 或者使用 AToken 生成的助记词或私钥的钱包。

3. 参考慢雾安全团队梳理的数字资产安全解决方案,对数字资产进行妥善的管理。

4. 留存相应有问题的 AToken 钱包 APP 的安装包,用于后续可能需要的取证等操作。

5. 如果资产已经被盗,可以先梳理被盗事件的时间线,以及黑客的相关地址 MistTrack 可以协助挽回可能的一线希望。[2022/2/9 9:39:46]

2.而claimTokens函数是通过调用指定代币合约的transferFrom函数进行转账的。其接收的参数都由上层路由桥合约(0x0B4727...)传入,本身没有对这些参数进行任何限制只检查了调用者必须为路由代理合约或路由桥合约。

慢雾:PancakeBunny被黑是一次典型利用闪电贷操作价格的攻击:币安智能链上DeFi收益聚合器PancakeBunny项目遭遇闪电贷攻击,慢雾安全团队解析:这是一次典型的利用闪电贷操作价格的攻击,其关键点在于WBNB-BUNNYLP的价格计算存在缺陷,而BunnyMinterV2合约铸造的BUNNY数量依赖于此存在缺陷的LP价格计算方式,最终导致攻击者利用闪电贷操控了WBNB-BUNNY池子从而拉高了LP的价格,使得BunnyMinterV2合约铸造了大量的BUNNY代币给攻击者。慢雾安全团队建议,在涉及到此类LP价格计算时可以使用可信的延时喂价预言机进行计算或者参考此前AlphaFinance团队。[2021/5/20 22:24:55]

3.路由桥合约(0x0B4727...)在接收到用户待兑换的代币后会调用兑换合约进行具体的兑换操作,但兑换合约的地址与具体的函数调用数据都由上层路由代理合约(0x8785bb...)传入,路由桥合约并未对解析后的兑换合约地址与调用数据进行检查。

慢雾:BSC项目Value DeFi vSwap 模块被黑简析:据慢雾区情报,币安智能链项目 Value DeFi 的 vSwap 模块被黑,慢雾安全团队第一时间介入分析,并将结果以简讯的形式分享,供大家参考:

1. 攻击者首先使用 0.05 枚 WBNB 通过 vSwap 合约兑换出 vBSWAP 代币;

2. 攻击者在兑换的同时也进行闪电贷操作,因此 vSwap 合约会将兑换的 vBSWAP 代币与闪电贷借出的 WBNB 转给攻击者;

3. 而在完成整个兑换流程并更新池子中代币数量前,会根据池子的 tokenWeight0 参数是否为 50 来选择不同的算法来检查池子中的代币数量是否符合预期;

4. 由于 vSwap 合约的 tokenWeight0 参数设置为 70,因此将会采用第二种算法对池子中的代币数量进行检查;

5. 而漏洞的关键点就在于采用第二种算法进行检查时,可以通过特殊构造的数据来使检查通过;

6. 第二种算法是通过调用 formula 合约的 ensureConstantValue 函数并传入池子中缓存的代币数量与实时的代币数量进行检查的;

7. 在通过对此算法进行具体分析调试后我们可以发现,在使用 WBNB 兑换最小单位(即 0.000000000000000001) vBSWAP 时,池子中缓存的 WBNB 值与实时的值之间允许有一个巨大的波动范围,在此范围内此算法检查都将通过;

8. 因此攻击者可以转入 WBNB 进行最小单位的 vBSWAP 代币兑换的同时,将池子中的大量 WBNB 代币通过闪电贷的方式借出,由于算法问题,在不归还闪电贷的情况下仍可以通过 vSwap 的检查;

9. 攻击者只需要在所有的 vSwap 池子中,不断的重复此过程,即可将池子中的流动性盗走完成获利。详情见原文链接。[2021/5/8 21:37:37]

4.而代理合约(0x8785bb...)对路由桥合约(0x0B4727...)传入的参数也都来自于用户传入的参数。且代理合约(0x8785bb...)仅是确保了用户传入的calldata内各数据长度是否符合预期与所调用的路由桥合约是在白名单映射中的地址,未对calldata数据进行具体检查。

5.因此攻击者利用路由代理合约、路由桥合约与权限管理合约均未对传入的数据进行检查的缺陷。通过路由代理合约传入构造后的数据调用路由桥合约的callBytes函数。callBytes函数解析出攻击者指定的兑换合约与兑换数据,此时兑换合约被指定为权限管理合约地址,兑换数据被指定为调用claimTokens函数将指定用户的代币转入攻击者指定的地址中。实现了窃取所有对权限管理合约进行授权的用户的代币。

此次攻击的主要原因在于TransitSwap协议在进行代币兑换时并未对用户传入的数据进行严格检查,导致了任意外部调用的问题。攻击者利用此任意外部调用问题窃取了用户对TransitSwap授权的代币。

截止到目前,黑客已将2,500BNB转移到TornadoCash,剩余资金分散保留在黑客地址中。经过黑客痕迹分析发现,黑客存在从LATOKEN等平台存提款的痕迹。慢雾MistTrack将持续跟进被盗资金的转移以及黑客痕迹的分析。

参考攻击交易:

https://bscscan.com/tx/0x181a7882aac0eab1036eedba25bc95a16e10f61b5df2e99d240a16c334b9b189

https://etherscan.io/tx/0x743e4ee2c478300ac768fdba415eb4a23ae66981c076f9bff946c0bf530be0c7

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-1:93ms