SUSD:简析 Alpha Finance & Cream 被攻击事件_GRI

据慢雾区消息,2021年2月13日,以太坊DeFiAlphaFinance遭受攻击,慢雾安全团队第一时间跟进分析,并以简讯的形式分享给大家,供大家研究。

1.攻击者用一部分的WETH在UniswapWETH-UNI池子上添加流动性,再把一部分的WETH兑换成sUSD并在Cream中添加流动性获得cySUSD凭证。

2.攻击者通过AlphaHomoraV2从IronBank借出sUSD,并将LP抵押到WERC20中为后面开杠杆做准备。

Beosin:EthTeamFinance项目遭受到了漏洞攻击事件简析:据Beosin EagleEye 安全预警与监控平台检测显示,ETH链上的EthTeamFinance项目遭受漏洞攻击,攻击合约0xCFF07C4e6aa9E2fEc04DAaF5f41d1b10f3adAdF4通过LockToken合约的migrate函数没有正确验证_id和params的漏洞,将WTH,CAW,USDC,TSUKA代币从V2流动性池非法升级到V3流动性池,并且通过sqrtPriceX96打乱V3流动池的Initialize的价格,从而获取大量refund套利。共计套利了约1300多万美元。[2022/10/27 11:49:12]

3.攻击者再通过AlphaHomoraV2将上一步借出的sUSD归还给IronBank。

慢雾:GenomesDAO被黑简析:据慢雾区hacktivist消息,MATIC上@GenomesDAO项目遭受黑客攻击,导致其LPSTAKING合约中资金被非预期的取出。慢雾安全团队进行分析有以下原因:

1.由于GenomesDAO的LPSTAKING合约的initialized函数公开可调用且无权限与不可能重复初始化限制,攻击者利用initialized函数将合约的stakingToken设置为攻击者创建的虚假LP代币。

2.随后攻击者通过stake函数进行虚假LP代币的抵押操作,以获得大量的LPSTAKING抵押凭证。

3.获得凭证后再次通过initialized函数将合约的stakingToken设置为原先真是的LP代币,随后通过withdraw函数销毁LPSTAKING凭证获取合约中真实的LP抵押物。

4.最后将LP发送至DEX中移除流动性获利。

本次事件是因为GenomesDAO的LPSTAKING合约可被任意重复初始化设置关键参数而导致合约中的抵押物被恶意耗尽。[2022/8/7 12:07:06]

4.上面几步似乎只是试探。

Grim Finance 被黑简析:攻击者通过闪电贷借出 WFTM 与 BTC 代币:据慢雾区情报,2021 年 12 月 19 日,Fantom 链上 Grim Finance 项目遭受攻击。慢雾安全团队进行分析后以简讯的形式分享给大家。

1. 攻击者通过闪电贷借出 WFTM 与 BTC 代币,并在 SpiritSwap 中添加流动性获得 SPIRIT-LP 流动性凭证。

2. 随后攻击者通过 Grim Finance 的 GrimBoostVault 合约中的 depositFor 函数进行流动性抵押操作,而 depositFor 允许用户指定转入的 token 并通过 safeTransferFrom 将用户指定的代币转入 GrimBoostVault 中,depositFor 会根据用户转账前后本合约与策略池预期接收代币(预期接收 want 代币,本次攻击中应为 SPIRIT-LP)的差值为用户铸造抵押凭证。

3. 但由于 depositFor 函数并未检查用户指定转入的 token 的合法性,攻击者在调用 depositFor 函数时传入了由攻击者恶意创建的代币合约地址。当 GrimBoostVault 通过 safeTransferFrom 函数调用恶意合约的 transferFrom 函数时,恶意合约再次重入调用了 depositFor 函数。攻击者进行了多次重入并在最后一次转入真正的 SPIRIT-LP 流动性凭证进行抵押,此操作确保了在重入前后 GrimBoostVault 预期接收代币的差值存在。随后 depositFor 函数根据此差值计算并为攻击者铸造对应的抵押凭证。

4. 由于攻击者对 GrimBoostVault 合约重入了多次,因此 GrimBoostVault 合约为攻击者铸造了远多于预期的抵押凭证。攻击者使用此凭证在 GrimBoostVault 合约中取出了远多于之前抵押的 SPIRIT-LP 流动性凭证。随后攻击者使用此 SPIRIT-LP 流动性凭证移除流动性获得 WFTM 与 BTC 代币并归还闪电贷完成获利。

此次攻击是由于 GrimBoostVault 合约的 depositFor 函数未对用户传入的 token 的合法性进行检查且无防重入锁,导致恶意用户可以传入恶意代币地址对 depositFor 进行重入获得远多于预期的抵押凭证。慢雾安全团队建议:对于用户传入的参数应检查其是否符合预期,对于函数中的外部调用应控制好外部调用带来的重入攻击等风险。[2021/12/19 7:49:04]

5.随后攻击者开始利用AlphaHomoraV2的杠杆借贷从IronBank中循环借出sUSD,每次借出数量都是上一次的一倍,最后将借出的sUSD再转到Cream中添加流动性获得cySUSD凭证。

6.之后攻击者不满足于这种低效的杠杆循环借贷叠cySUSD的方式,开始使用闪电贷加快速度。

7.攻击者开始从AAVE中闪电贷借出180万USDC,并通过Curve将USDC兑换成sUSD,这时候攻击者就拿到了大量的sUSD了。

8.随后攻击者先用sUSD到Cream中添加流动性,并获得cySUSD凭证,再开始继续使用AlphaHomoraV2的杠杆借贷从IronBank中循环翻倍的借出sUSD,最后利用借出的sUSD去归还闪电贷。(偿还的闪电贷中有包含先前几步的一部分sUSD作为利息,因为最后一步借出的不足以还贷,但都是拿从Alpha借的去还的)?

9.重复上一步,闪电贷借出1000万USDC,换成sUSD,先添加在Cream中,添加9,668,335的流动性拿到cySUSD,再继续杠杆借贷,最后翻倍到10,088,930应该基本把池子借空了。然后开始重复添加流动性,获取cySUSD。最后再去归还闪电贷。

10.再闪电贷借出1000万,再重复添加流动性与借贷,获取cySUSD并归还闪电贷。

11.由于经过以上步骤攻击者已获得大量cySUSD,因此攻击者开始直接在Cream借出WETH、USDC、USDT、DAI、sUSD。

总结:攻击者使用闪电贷到AlphaFinance中进行杠杆借贷,并使用AlphaFinance本身的CreamIronBank额度来归还闪电贷,在这个过程中攻击者通过在Cream添加流动性获得了大量的cySUSD,使攻击者得以用这些cySUSD在CreamFinance中进行进一步的借贷。由于AlphaFinance的问题,导致了两个协议同时遭受了损失。

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

大币网

[0:0ms0-5:371ms