ETH:慢雾:Cream Finance 被黑简要分析

2021年08月30日,据慢雾区消息,DeFi抵押借贷平台CreamFinance遭受闪电贷攻击,损失约1800万美元。慢雾安全团队第一时间介入分析,并将简要分析结果分享如下:

攻击流程

1.攻击者从Uniswap闪电贷借出500ETH;

2.将500ETH抵押到crETH合约中,获得crETH凭证;

3.从crAMP合约借出19,480,000AMP;

->借贷时,cToken合约会先通过doTransferOut函数将AMP代币转移给攻击者,再记录攻击者的借贷数量到accountBorrows中;

慢雾:近期出现假冒UniSat的钓鱼网站,请勿交互:5月13日消息,慢雾首席信息安全官 @IM_23pds 在社交媒体上发文表示,近期有假冒比特币铭文钱包及交易市场平台 UniSat 的钓鱼网站出现,经慢雾分析,假网站有明显的传统针对 ETH、NFT 钓鱼团伙的作案特征,或因近期 BRC-20 领域火热故转而制作有关该领域的钓鱼网站,请用户注意风险,谨慎辨别。[2023/5/13 15:01:11]

->但AMP代币的transfer函数会通过钩子(_callPostTransferHooks)函数回调攻击者合约的tokensReceived函数;

慢雾:pGALA合约黑客已获利430万美元:11月4日消息,安全团队慢雾在推特上表示,pGALA合约黑客已将大部分GALA兑换成13,000枚BNB,获利超430万美元,该地址仍有450亿枚Gala,但不太可能兑现,因为资金池基本已耗尽。此外,黑客的初始资金来自几个币安账户。

今日早些时候消息,一个BNB Chain上地址在BNB Chain上地址凭空铸造了超10亿美元的pGALA代币,并通过在PancakeSwap上售出获利。pNetwork表示此为跨链桥配置错误所致,GALA跨链桥已暂停,请用户不要在BNB Chain上DEX中交易pGALA。[2022/11/4 12:16:04]

->攻击者合约在tokensReceived函数中再次调用了crETH合约,借出355个ETH;

慢雾:Equalizer Finance被黑主要在于FlashLoanProvider合约与Vault合约不兼容:据慢雾区消息,6 月 7 日,Equalizer Finance 遭受闪电贷攻击。慢雾安全团队以简讯形式将攻击原理分享如下:

1. Equalizer Finance 存在 FlashLoanProvider 与 Vault 合约,FlashLoanProvider 合约提供闪电贷服务,用户通过调用 flashLoan 函数即可通过 FlashLoanProvider 合约从 Vault 合约中借取资金,Vault 合约的资金来源于用户提供的流动性。

2. 用户可以通过 Vault 合约的 provideLiquidity/removeLiquidity 函数进行流动性提供/移除,流动性提供获得的凭证与流动性移除获得的资金都受 Vault 合约中的流动性余额与流动性凭证总供应量的比值影响。

3. 以 WBNB Vault 为例攻击者首先从 PancekeSwap 闪电贷借出 WBNB

4. 通过 FlashLoanProvider 合约进行二次 WBNB 闪电贷操作,FlashLoanProvider 会先将 WBNB Vault 合约中 WBNB 流动性转给攻击者,随后进行闪电贷回调。

5. 攻击者在二次闪电贷回调中,向 WBNB Vault 提供流动性,由于此时 WBNB Vault 中的流动性已经借出一部分给攻击者,因此流动性余额少于预期,则攻击者所能获取的流动性凭证将多于预期。

6. 攻击者先归还二次闪电贷,然后从 WBNB Vault 中移除流动性,此时由于 WBNB Vault 中的流动性已恢复正常,因此攻击者使用添加流动性获得凭证所取出的流动性数量将多于预期。

7. 攻击者通过以上方式攻击了在各个链上的 Vault 合约,耗尽了 Equalizer Finance 的流动性。

此次攻击的主要原因在于 Equalizer Finance 协议的 FlashLoanProvider 合约与 Vault 合约不兼容。慢雾安全团队建议协议在进行实际实现时应充分考虑各个模块间的兼容性。[2022/6/8 4:09:22]

->由于第一次借贷的合约是crAMP合约,第二次重入调用借贷的是crETH合约,所以borrow函数的防重入修饰器(nonReentrant)不起作用;

->并且borrow函数是在给用户转账后再修改的借贷记录(accountBorrows),导致攻击者可以进行超额借贷;

4.随后攻击者使用另外一个合约(0x0ec3)对已经爆仓的合约(0x38c4)进行清算,使得不会因为超额借贷而导致交易失败;

5.之后攻击合约(0x38c4)将crETH凭证转给0x0ec3合约,0x0ec3合约使用这些凭证赎回了约187.58个ETH;

6.最后在这笔交易中攻击者获得了约542.58(187.58355)个ETH与9,740,000个AMP代币;

7.最后攻击者归还闪电贷,获利走人。其他攻击交易类似。

总结

本次攻击是由于Cream借贷模型与AMP代币不兼容导致的。由于AMP代币转账时会使用钩子函数回调目标地址,且CreamcToken合约是在借贷转账后才记录借贷数量,最终造成了超额借贷的问题。

参考攻击交易:https://etherscan.io/tx/0xa9a1b8ea288eb9ad315088f17f7c7386b9989c95b4d13c81b69d5ddad7ffe61e

来源链接:mp.weixin.qq.com

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

慢雾

慢雾

慢雾科技是一家专注区块链生态安全的国家高新技术企业,通过「威胁发现到威胁防御一体化因地制宜的安全解决方案」服务了全球许多头部或知名的项目。慢雾科技的安全解决方案包括:安全审计、威胁情报、漏洞赏金、防御部署、安全顾问等服务并配套有加密货币反、假充值漏洞扫描、漏洞监测、被黑档案库、智能合约防火墙、SafeStaking等SAAS型安全产品,已有商业客户上千家。慢雾慢雾科技慢雾AML慢雾安全Slowmist查看更多

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

金星链

[0:0ms0-0:676ms