2021年08月04日10:23AM,慢雾区情报系统捕获到了Wault.Finance的WUSDMaster合约疑似被黑的情报,慢雾安全团队第一时间介入分析,以下是分析的详细内容。
事件相关方信息
攻击者地址:0x886358f9296de461d12e791bc9ef6f5a03410c64
攻击者合约地址A:0xaa895873a268a387e38bd841c51d2804071197a1
攻击者合约地址B:0x50afa9383ea476bdf626d6fba62afd0b01c8fea1
被攻击的项目:https://app.wault.finance/bsc/#wusd
被攻击的项目地址:0xa79fe386b88fbee6e492eeb76ec48517d1ec759a(Wault.Finance的WUSDMaster合约)
事件相关方背景
攻击者:黑客通过创建了攻击合约地址A,并在合约的构造函数中发起攻击。
被攻击项目:WUSDMaster是一个质押BSC_USDT换取WUSD的合约,可以通过质押(stake)BSC_USDT来获得WUSD,通过赎回(redeem)将WUSD燃烧,然后换成BSC_USDT,在这过程中一部分资金会转给金库(Treasury),WUSDMaster会用WEX补贴给用户。
攻击事件的核心点
WUSDMaster合约的stake函数中,会在质押的时候1:1兑换BSC_USDT和WUSD,但是它还进行了一次swap操作,正是因为这个swap操作导致可以被黑客利用进行套利。
核心问题点:允许数量1:1兑换BSC_USDT和WUSD的同时,WUSDMaster的swap操作会额外导致WaultSwapPair(BSC_USDT-WEX)的池子中的代币失衡,从而形成套利空间。
注意:BSC_USDT和WUSD也可以理解为价格上也是1:1
攻击事件的剖析
攻击的交易Txid
0x31262f15a5b82999bf8d9d0f7e58dcb1656108e6031a2797b612216a95e1670e
攻击的合约地址
0xaa895873a268a387e38bd841c51d2804071197a1
攻击者地址
0x886358f9296de461d12e791bc9ef6f5a03410c64
被攻击的项目地址
0xa79fe386b88fbee6e492eeb76ec48517d1ec759a(wault.finance的WUSDMaster合约)
我们可以把本次的过程分为3个阶段:准备套利资金、构造套利空间、实施套利。
第一阶段:通过闪电贷获得初始攻击资金
1、在WaultSwapPair(BSC_BUSD-WUSD)中通过闪电贷借了16,839,004枚WUSD;
2、调用WUSDMaster合约中的赎回(redeem)函数,将闪电贷借到的WUSD燃烧掉,换成BSC_USDT和WEX;
3、去PancakePair(WBNB-BSC_USDT)中通过闪电贷借了40,000,000枚BSC_USDT;
4、将借到的23,000,000枚BSC_USDT在WaultSwapPair(BSC_USDT-WEX)中换成了WEX。此时攻击者已经做好了套利的准备。
WEX的数量:624,440,724=106,502,606517,938,118
WEX的来源:redeem操作WaultSwapPair(BSC_USDT-WEX)中兑换所得
第二阶段:使BSC_USDT-WEX池子失衡形成套利空间
1、多次(68次)调用WUSDMaster合约中的质押(stake)函数;
2、stake函数会执行wswapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens将质押一部分的BSC_USDT换成WEX,这样就会使得WaultSwapPair(BSC_USDT-WEX)池子的WEX数量减少,价值变高;
3、多次stake之后BSC_USDT-WEX池子中,BSC_USDT数量多,WEX数量少,形成套利空间;
4、且攻击者每次调用stake都会以1:1的兑换方式使用BSC_USDT兑换WUSD,所以攻击者在这一步的兑换可以无损的情况下就额外的将BSC_USDT-WEX池子打失衡了。
第三阶段:进行套利,并偿还闪电贷
1、攻击者将第一阶段准备好的WEX在已经失衡的BSC_USDT-WEX池子中进行兑换,就可以换出更多的BSC_USDT;
624,440,724枚WEX=>25,930,747枚BSC_USDT
2、攻击者将多次(68次)调用stake函数所得到的WUSD在偿还闪电贷之后,剩余110,326枚WUSD通过WaultSwapPair(BSC_BUSD-WUSD)换成了BSC_BUSD;
110,326枚WUSD=>109,284枚BSC_BUSD
3、将所得到的BSC_USDT和BSC_BUSD还完闪电贷后换成了BEP_ETH。
MistTrack分析过程
慢雾AML团队分析统计,最终攻击者获利370枚BEP_ETH,并通过Anyswap进行资金转移,约损失93万美元。
资金流向分析
慢雾AML团队分析发现,攻击者相关的钱包地址情况如下:
攻击者地址:
0x886358f9296De461d12e791BC9Ef6F5a03410C64
慢雾AML旗下MistTrack反追踪系统分析发现,攻击者首先从Binance提币,获得初始资金,接着部署了合约。
通过三次操作,攻击者将ETH兑换为anyETH,再通过跨链平台将所得ETH跨链到以太坊地址:
0x886358f9296De461d12e791BC9Ef6F5a03410C64。
值得注意的是:
1.、跨链后的以太坊地址:
0x886358f9296De461d12e791BC9Ef6F5a03410C64有一笔交易转出到了Binance。
2、攻击者获利地址最初的一笔交易是来自混币平台Tornado.Cash转入的100ETH。
****
事件梳理(UTC)
****
-1:25:07攻击者从TornadoCash提取100ETH
-1:27:09攻击者充币到币安1ETH
-1:35:24攻击者从币安提现2BNB到BSC
-1:35:27攻击者从币安提现0.72213159Binance-PegETH到BSC
-1:43:52-1:49:05攻击者在BSC上部署合约实施攻击
截止目前,攻击者获利地址
0x886358f9296De461d12e791BC9Ef6F5a03410C64共有余额468.99ETH。
总结
本次攻击事件是经典的利用闪电贷进行套利的案例,由于经济模型上的设计缺陷导致的攻击者可以对WaultSwapPair(BSC_USDT-WEX)的池子进行套利攻击。项目方在开发之初也要关注经济模型的设计所带来的攻击面,建议让第三方专业的团队或专家对项目在DeFi各种场景下的攻击面进行推演,排查可能的攻击面,从经济模型和架构设计上对项目进行优化和加固。
慢雾安全团队已经将攻击者地址加入到AML系统中进行监控,并且使用了AML系统的联动能力尽可能的对攻击者资金进行封堵。
参考攻击交易:
https://bscscan.com/tx/0x31262f15a5b82999bf8d9d0f7e58dcb1656108e6031a2797b612216a95e1670e
__
往期回顾
科普|加密货币,你中招了吗?(下)
慢雾招募令,加入未来的安全独角兽
梅开二度——PancakeBunny被黑分析
科普|加密货币,你中招了吗?(上)
假币的换脸戏法——技术拆解THORChain跨链系统“假充值”漏洞
慢雾导航
慢雾科技官网
https://www.slowmist.com/
慢雾区官网
https://slowmist.io/
慢雾GitHub
https://github.com/slowmist
Telegram
https://t.me/slowmistteam
https://twitter.com/@slowmist_team
Medium
https://medium.com/@slowmist
币乎
https://bihu.com/people/586104
知识星球
https://t.zsxq.com/Q3zNvvF
火星号
http://t.cn/AiRkv4Gz
链闻号
https://www.chainnews.com/u/958260692213.htm
免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。
本文来源于非小号媒体平台:
慢雾科技
现已在非小号资讯平台发布68篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/10225374.html
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
比尔·盖茨再谈ChatGPT:将改变我们的世界!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。