​零时科技 | Agave Finance攻击事件分析

区块链安全 2年前 (2022) admin
673 0 0

​零时科技 | Agave Finance攻击事件分析


0x1 事件背景

Agave Finance是以被动收入奖励存款人,并允许他们使用存款作为抵押品借入和借出数字资产。

零时科技区块链安全情报平台监控到消息,北京时间2022年3月15日,Agave Finance称遭到黑客攻击,目前已暂停相关合约,零时科技安全团队及时对此安全事件进行分析。

​零时科技 | Agave Finance攻击事件分析

0x2 攻击者信息
零时科技安全团队通过初步追踪分析,此次攻击发生在Gnosis链,主要攻击信息如下
  • 攻击者钱包地址

https://blockscout.com/xdai/mainnet/address/0x0a16A85BE44627C10cEe75db06b169C7Bc76de2c/transactions

  • 攻击者合约地址

https://blockscout.com/xdai/mainnet/address/0xF98169301B06e906AF7f9b719204AA10D1F160d6/transactions

  • 攻击交易

https://blockscout.com/xdai/mainnet/tx/0xa262141abcf7c127b88b4042aee8bf601f4f3372c9471dbd75cb54e76524f18e

  • PermittableToken合约

https://blockscout.com/xdai/mainnet/address/0xf8D1677c8a0c961938bf2f9aDc3F3CFDA759A9d9/contracts

0x3 攻击分析

先来看一下攻击者获利的一笔交易操作

​零时科技 | Agave Finance攻击事件分析

步骤一:攻击者利用攻击合约进行闪电贷获得2728枚WETH

 步骤二:攻击者将获取的2728枚WETH存入Agave的贷款池,随后在Agave借贷中相继取出3305枚WETH,243423枚USDC,24563枚LINK,16.76枚WBTC,8400枚GNO,347787枚WXDAI

​零时科技 | Agave Finance攻击事件分析

步骤三:攻击者将获取的243423枚USDC,24563枚LINK,16.76枚WBTC,8400枚GNO,347787枚WXDAI资产转至攻击者钱包地址。

步骤四:攻击者归还闪电贷借款及其闪电贷手续费共2737枚WETH。

 步骤五:在下一笔交易中,攻击者将获利的567枚WETH资金转至攻击者钱包。

​零时科技 | Agave Finance攻击事件分析

至此,攻击者通过闪电贷获取资金在Agave借贷平台进行借出借入,从Agave借贷平台存款一次,多次取出借贷资金获利,该笔交易中,攻击者共获取567枚WETH,243423枚USDC,24563枚LINK,16.76枚WBTC,8400枚GNO,347787枚WXDAI,价值超过22万美元。

0x4 漏洞细节

攻击者存款作为抵押品Agave借贷合约,随后通过Agave借贷合约多次借贷获利,由于Agave合约为AAVE合约分支,未有已知的安全风险,这里直接来分析本次漏洞发生的核心Gnosis官方链上桥接代币合约实现回调函数,主要是PermittableToken合约的callAfterTransfer方法。

​零时科技 | Agave Finance攻击事件分析

该笔交易中,攻击者callAfterTransfer回调去触发借贷进行下一次转账,这里有一个细节,用户每次向合约借贷转出资金未完成时,合约不会记录借贷的资金,也就是说用户在借贷资金转出时继续回调借贷方法不会被合约记录,通过对合约调用分析,合约转账逻辑如下:

​零时科技 | Agave Finance攻击事件分析

从上图可看出,借贷转账时,会先调用superTransfer方法,之后调用callAfterTransfer方法,callAfterTransfer方法中通过调用contractFallback方法进行逻辑处理,并且这里的to地址攻击者可控,所以可以进行回调继续进行借贷。

对于攻击者来说,只要本次借贷资金大于自己的质押资金,则本次攻击可成功获利,当可以利用回调获取借贷时,攻击者几乎将合约中池子的资金均进行借贷,获取多种代币资金。

至此此次攻击事件合约漏洞分析结束,攻击者主要利用Gnosis链上PermittableToken合约可实现回调函数,在进行质押存款后,多次实现回调函数进行借贷,获取超过了质押存款的资金,获利离场。

0x5 总结

通过此次攻击事件来看,虽然本次攻击事件失去资金的是Agave,但问题出现Gnosis链上Token合约中,主要的问题在于Gnosis链上PermittableToken合约可实现回调函数,对于链上Token实现,这里的PermittableToken合约必然需要做修改,Agave官方也应严格检查调用Token是否无风险,零时科技安全团队给出以下建议。
0x6 安全建议
  • 建议Gnosis创建新的桥接代币合约来实现基本的ERC20。

  • 建议Agave官方严格检查调用Token风险性。


?扫描关注零时科技服务号?

?区块链安全威胁情报实时掌握?

​零时科技 | Agave Finance攻击事件分析


出品 零时科技安全团队

·END·

关注

往期内容回顾

区块链安全100问 | 第一篇:区块链安全是什么

区块链安全100问 | 第二篇:初识加密数字资产及安全

区块链安全100问 | 第三篇:数字钱包面临的安全风险

区块链安全100问 | 第四篇:保护数字钱包安全,防止资产被盗

区块链安全100问 | 第五篇:黑客通过这些方法盗取数字资产,看看你是否中招?

区块链安全100问 | 第六篇:智能合约面临的安全风险

区块链安全100问 | 第七篇:智能合约审计流程及审计内容

零时科技 | 被盗6.1亿美金,Poly Network 被攻击复盘分析

喜讯|零时科技完成天使轮800万元融资,持续深化区块链生态安全布局

Popsicle攻击事件复盘分析 | 零时科技

黑客大揭秘!扫码转账即可控制你的数字钱包

原文始发于微信公众号(零时科技):​零时科技 | Agave Finance攻击事件分析

版权声明:admin 发表于 2022年3月18日 下午8:29。
转载请注明:​零时科技 | Agave Finance攻击事件分析 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...