2022年5月16日,成都链安链必应-区块链安全态势感知平台舆情监测显示,Ethereum和BNBChain上FEGtoken项目的FEGexPRO合约遭受黑客攻击,黑客获利约3280?BNB?以及144ETH,价值约130万美元。成都链安技术团队对事件进行了分析,结果如下。
事件相关信息
本次攻击事件包含多笔交易,部分交易信息如下所示:
攻击交易?(部分)
0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063?(BNBChain)
印尼西爪哇省长:正准备在印尼建立一个比特币交易所:金色财经报道,印度尼西亚西爪哇省长Ridwan Kamil表示,我们现在正准备在印度尼西亚建立一个比特币交易所,新生代正在购买比特币作为储备。希望印尼在未来能成为比特币的天堂。此外,希望将更多BTC挖矿带入该国,比特币挖矿正在帮助创造一个负担得起的能源价格。[2023/5/20 15:15:32]
0x1e769a59a5a9dabec0cb7f21a3e346f55ae1972bb18ae5eeacdaa0bc3424abd2?(Ethereum)
攻击者地址
0x73b359d5da488eb2e97990619976f2f004e9ff7c
攻击合约
0x9a843bb125a3c03f496cb44653741f2cef82f445
被攻击合约
0x818e2013dd7d9bf4547aaabf6b617c1262578bc7?(BNBChain)
0xf2bda964ec2d2fcb1610c886ed4831bf58f64948(Ethereum)
攻击流程
Citadel曾提出以一定比例的折扣收购Circle存放在硅谷银行的33亿美元存款:金色财经报道,对冲基金投资公司Citadel曾提出以一定比例的折扣,收购加密货币技术公司Circle存放在硅谷银行的33亿美元存款,但双方的谈判最终陷于破裂。 (华尔街日报)[2023/3/18 13:11:57]
Ethereum和BNBChain上使用攻击手法相同,以下分析基于BNBChain上攻击:
1.攻击者调用攻击合约利用闪电贷从DVM合约(0xd534...0dd7)中借贷915.84WBNB,然后将116.81WBNB兑换成115.65fBNB为后续攻击做准备。
2.攻击者利用攻击合约创建了10个合约,为后续攻击做准备。
Beosin:Rabby项目遭受黑客攻击,涉及金额约20万美元:金色财经报道,据Beosin EagleEye Web3安全预警与监控平台监测显示,Rabby项目遭受黑客攻击。因为RabbyRouter的_swap函数存在外部调用,任意人都可以调用该函数,转走授权该合约用户的资金。目前攻击者已在Ethereum,BSC链,polygon,avax,Fantom,optimistic,Arbitrum发起攻击,请用户取消对相应合约的授权。以下是存在问题的合约:
Bsc合约地址:0xf756a77e74954c89351c12da24c84d3c206e5355、
Ethereum合约地址:0x6eb211caf6d304a76efe37d9abdfaddc2d4363d1、
optimistic合约地址:0xda10009cbd5d07dd0cecc66161fc93d7c9000da1、
avax合约地址:0x509f49ad29d52bfaacac73245ee72c59171346a8、
Fantom合约地址:0x3422656fb4bb0c6b43b4bf65ea174d5b5ebc4a39、
Arbitrum合约地址:0xf401c6373a63c7a2ddf88d704650773232cea391、
Beosin安全团队分析发现攻击者(0xb687550842a24D7FBC6Aad238fd7E0687eD59d55)已把全部获得的代币兑换为相应平台币,目前被盗资金已全部转移到Tornado Cash中。Beosin Trace将对被盗资金进行持续追踪。[2022/10/12 10:31:31]
3.攻击者接下来将兑换得到的fBNB代币抵押到FEGexPRO合约中。
推特为付费用户推出编辑推文功能,可在推文发布后的30分钟内多次修改推文:9月3日消息,推特近日宣布,未来几周将推出“编辑推文”功能,但仅限“Twitter Blue”付费用户使用,该功能允许用户在推文发布后的 30 分钟内,对其进行数次修改。编辑后的推文将显示带有图标、时间戳和标签,以便读者清楚地看到原始推文已被修改。点击标签会将查看者带到推文的编辑历史记录,其中包括推文的过去版本。[2022/9/3 13:06:22]
4.?然后攻击者重复调用depositInternal和swapToSwap函数,让FEGexPRO合约授权fBNB给之前创建好的其他攻击合约。
数据:近一周共识层合约地址余额新增83,856枚ETH:8月17日消息,据Tokenview链上数据监测,当前共识层(原ETH2)合约地址余额达到13,325,797枚ETH,近一周新增83,856枚ETH。[2022/8/17 12:30:22]
5.?然后利用其他攻击合约调用transferFrom函数将FEGexPRO合约中fBNB全部转移到攻击合约中。
6.接下来又在LP交易对合约(0x2aa7...6c14)中借贷31,217,683,882,286.007211154FEG代币和423WBNB。
7.然后重复3、4、5步骤的攻击手法,将FEGexPRO合约中大量FEG代币盗取到攻击合约中。
8.然后归还闪电贷,将获得的WBNB转入攻击合约中完成此笔攻击。
9.此后,又利用相同的原理,执行了50余笔相同的攻击,最获利约144ETH和3280BNB。
漏洞分析
本次攻击主要利用了FEGexPRO合约中swapToSwap函数中path地址可控且合约中未对path地址进行有效性校验的漏洞。由于合约中depositInternal函数中更新用户余额时依赖于合约中当前代币余额,攻击者通过传入一个恶意的path地址,调用swapToSwap函数时合约中代币余额并未发生变化,导致攻击者可以反复重置攻击合约在FEGexPRO合约中记录的代币数量,从而让FEGexPRO合约将自身代币反复授权给攻击者所控制的多个恶意合约。
资金追踪
截止发文时,被盗资金仍在攻击者地址中并未转移。
总结
针对本次事件,成都链安技术团队建议:
项目开发时,应该注意与其他合约交互时可能存在的安全风险,尽量避免将关键参数设置为用户可控。如果业务需求如此,则需要严格判断用户输入的参数是否存在风险。此外建议项目上线前选择专业的安全审计公司进行全面的安全审计,规避安全风险。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。