加密版无损「倒信用卡」获利百万美元,FEG闪电贷攻击事件分析

CertiK
企业专栏
热度: 19850

FEG在以太坊和BNB链上遭受大规模闪电贷攻击,导致了价值约130万美元的资产损失。

信用卡

北京时间2022年5月16日凌晨4:22:49,CertiK安全技术团队监测到FEG在以太坊和BNB链上遭受大规模闪电贷攻击,导致了价值约130万美元的资产损失。

此攻击是由“swapToSwap()”函数中的一个漏洞造成的,该函数在未对传入参数进行筛查验证的情况下,直接将用户输入的 "path "作为受信任方,允许未经验证的 "path "参数(地址)来使用当前合约的资产。

因此,通过反复调用 "depositInternal() "和 "swapToSwap()",攻击者可获得无限制使用当前合约资产的许可,从而盗取合约内的所有资产。

受影响的合约地址之一:https://bscscan.com/address/0x818e2013dd7d9bf4547aaabf6b617c1262578bc7


漏洞交易

漏洞地址: https://bscscan.com/address/0x73b359d5da488eb2e97990619976f2f004e9ff7c 漏洞交易样本:https://bscscan.com/tx/0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063

被盗资金追踪:https://debank.com/profile/0x73b359d5da488eb2e97990619976f2f004e9ff7c/history


相关地址

攻击者地址:https://bscscan.com/address/0x73b359d5da488eb2e97990619976f2f004e9ff7c攻击者合约:https://bscscan.com/address/0x9a843bb125a3c03f496cb44653741f2cef82f445

FEG代币地址:https://bscscan.com/token/0xacfc95585d80ab62f67a14c566c1b7a49fe91167

FEG Wrapped BNB(fBNB): https://bscscan.com/address/0x87b1acce6a1958e522233a737313c086551a5c76#code


攻击步骤

以下攻击流程基于该漏洞交易:https://bscscan.com/tx/0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063① 攻击者借贷915 WBNB,并将其中116 BNB存入fBNB。

② 攻击者创建了10个地址,以便在后续攻击中使用。

信用卡

③攻击者通过调用 "depositInternal() "将fBNB存入合约FEGexPRO。根据当前地址的余额,"_balances2[msg.sender]"被增加。

信用卡④ 攻击者调用了 "swapToSwap()",路径参数是之前创建的合约地址。

该函数允许 "path "获取FEGexPRO合约的114 fBNB。

信用卡⑤ 攻击者反复调用 "depositInternal() "和 "swapToSwap()"(步骤③和④),允许多个地址(在步骤②中创建)获取fBNB代币,原因如下:

  • 每次 "depositInternal() "被调用,_balance2[msg.sender]将增加约114 fBNB。
  • 每次"swapToSwap()"被调用,攻击者所创建合约能获取该114 fBNB的使用权限。

⑥ 由于攻击者控制了10个地址,每个地址均可从当前地址花费114个fBNB,因此攻击者能够盗取被攻击合约内的所有fBNB。

信用卡⑦ 攻击者重复步骤④⑤⑥,在合约内耗尽FEG代币。

信用卡⑧ 最后攻击者出售了所有耗尽的资产,并偿还闪电贷款,最终获取了其余利润。


资产去向

截至2022年5月16日6:43,被盗资金仍存储在以太坊和BSC链上的攻击者钱包(0x73b359d5da488eb2e97990619976f2f004e9ff7c)中。原始资金来自以太坊和BSC的Tornado cash:https://etherscan.io/tx/0x0ff1b86c9e8618a088f8818db7d09830eaec42b82974986c855b207d1771fdbe

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

攻击者攻击了13个FEGexPRO合约,以下为概览:

信用卡


写在最后

本次攻击事件本可通过安全审计来有效地避免。

CertiK安全专家认为审计过程中可以检查出该风险——不受信任的 "path "参数被传递到协议中,并获取合约资产支出的权限。审计专家会将该风险归类于主要风险级别,此外,如果进行更深层次的挖掘,还可列明被利用的多种可能。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。