前言
北京時間2022年5月16日,知道創宇區塊鏈安全實驗室監測到多鏈DeFi協議FEG遭到閃電貸攻擊,攻擊者竊取144ETH和3280BNB,損失約130萬美元。
5月17日,多鏈DeFi協議FEG再次受到攻擊,攻擊者竊取291ETH和4343BNB,損失約190萬美元,其中BSC130萬美元,以太坊鏈60萬美元。
分析
該協議在BSC和Ether上都被攻擊了,下面的圖分別是兩鏈上的攻擊事件交易哈希。本次攻擊事件主要原因是swapToSwap()函數中path地址可被攻擊者控制。
MASK基金會地址兩天內將400萬枚MASK轉出至CEX:6月24日消息,據鏈上分析師余燼監測,兩天時間MASK基金會地址轉出至CEX的MASK已達400萬枚(1520萬美元)。
150萬枚由基金會直接轉至3個Binance存款地址。250萬枚通過0x157地址轉給DWF Labs:其中165萬枚轉入DWF Labs的OKX存款地址,85萬枚轉入DWF Labs的Binance存款地址。[2023/6/24 21:57:31]
基礎信息
攻擊合約:0x9a843bb125a3c03f496cb44653741f2cef82f445
攻擊者地址:0x73b359d5da488eb2e97990619976f2f004e9ff7c
漏洞合約地址:
BSC:0x818e2013dd7d9bf4547aaabf6b617c1262578bc7
Ether:0xf2bda964ec2d2fcb1610c886ed4831bf58f64948
攻擊tx:
Pudgy Toys上架亞馬遜兩天內已售出超2萬個,銷售額突破50萬美元:5月21日消息,NFT項目“胖企鵝” Pudgy Penguins首席執行官Luca Netz表示,Pudgy Toys在亞馬遜推出后頭兩天的銷售額超過50萬美元,已有超過2萬個獨立玩具售出。昨天,Netz在Twitter Space中表示,該團隊的主題是“希望Pudgy Penguins獲得成功,但也希望推動該領域向前發展”,并補充說,他們專注于以創新方式將數百萬用戶帶入Web3領域。[2023/5/21 15:16:36]
BSC:0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063
Ether:0x1e769a59a5a9dabec0cb7f21a3e346f55ae1972bb18ae5eeacdaa0bc3424abd2
攻擊流程
1.攻擊者0x73b3調用事先創建好的攻擊合約0x9a84從DVM中閃電貸借出915.842WBNB,接著將其中的116.81WBNB兌換成115.65fBNB。
Compound 114號提案通過,將在兩天內實施:金色財經報道,Compound Governance發文稱,114號提案(Proposal 141)以618,747票獲得通過,符合法定人數,該提案將在兩天內實施。據了解,114號提案提議修改五個Compound v2市場的借款上限和抵押系數,涉及BAT、COMP、SUSHI抵押系數以及LINK、UNI借款上限調整。[2023/1/1 22:19:19]
2.攻擊者0x73b3通過攻擊合約0x9a84創建了10個合約以便后面利用漏洞。
3.攻擊者0x73b3將第一步中兌換得到的fBNB通過函數depositInternal()抵押到FEGexPRO合約0x818e中。
以太坊在兩天內銷毀了新幣發行量的36%:金色財經報道,自以太坊改進提案(EIP)1559激活以來,該網絡已從流通中移除或“銷毀”了超過5000枚ETH,價值約1400萬美元,占同期新幣發行總量的36%。[2021/8/7 1:39:59]
4.攻擊者0x73b3調用depositInternal()和swapToSwap()函數使得FEGexPRO合約0x818e授權fBNB給第二步創建好的合約,重復多次調用授權fBNB給創建的10個合約。
5、由于上一步中已經將攻擊者0x73b3創建的10個合約都已授權,攻擊者用這些已被授權的合約調用transferFrom()函數將FEGexPRO合約0x818e每次轉走113.452fBNB。
SushiSwap兩天內將宣布重要里程碑:SushiChef凌晨發推稱,我們目前正在修復一個新功能中最后一分鐘出現的bug,并將在接下來的24至48小時內宣布一個重大里程碑。很快就可以用Sushi來做貢獻和賺錢。[2020/10/29]
6、攻擊者0x73b3又從PancakePair的LP交易對0x2aa7中借出31217683882286.007的FEG和423WBNB并重復上面的第三步、第四步和第五步,最終獲得。
7、最后歸還閃電貸,將上面攻擊獲得的所有WBNB轉入攻擊合約0x9a84中。
細節
查看FEGexPRO合約,我們能看到depositInternal()函數和swapToSwap()函數的具體邏輯。其中depositInternal()函數進行質押,用戶的余額受到合約當前代幣余額的影響,第一次攻擊者正常質押后balance也正常增加,而由于當前合約代幣余額沒變,后面的質押只需要傳入最小值調用即可。
通過調用swapToSwap()函數傳入惡意的path地址參數,當前合約代幣余額并不會受到影響,IERC20(address(Main)).approve(address(path),amt);這樣就能給path地址進行當前合約fBNB的授權。
攻擊者通過反復調用depositInternal()和swapToSwap()就可以讓FEGexPRO合約將fBNB反復授權給攻擊者傳入的惡意合約path地址。其他地址轉走的代幣數量就是攻擊者第一次質押的代幣數量減去手續費的數量。通過查看Debugger中的信息,我們可以發現傳入的path地址參數都是攻擊流程中創建的合約地址。
后續
在16日的攻擊之后,次日攻擊者又進行了一次攻擊,但更換了攻擊地址。
攻擊合約:0xf02b075f514c34df0c3d5cb7ebadf50d74a6fb17
攻擊者地址:0xf99e5f80486426e7d3e3921269ffee9c2da258e2
漏洞合約:0xa3d522c151ad654b36bdfe7a69d0c405193a22f9
攻擊tx:
BSC:0xe956da324e16cb84acec1a43445fc2adbcdeb0e5635af6e40234179857858f82
Ether:0c0031514e222bf2f9f1a57a4af652494f08ec6e401b6ae5b4761d3b41e266a59
由于R0X漏洞合約0xa3d5未開源,我們試著從Debugger中進行分析,發現和第一次的攻擊流程類似,但還用了BUY()輔助存入和SELL()函數進行輔助提取。
總結
該次攻擊的主要原因是未驗證swapToSwap()函數中path地址參數,導致可以被攻擊者任意傳入使得FEGexPRO合約將自身代幣授權給攻擊者傳入的所有惡意path地址。建議合約在開發時要對所有傳入的參數進行校驗,不要相信攻擊者傳入的任何參數。
編者按: ThePrimedia(第一導報)聯合活動行、FORSIN社區共同推出「多維共生」系列AMA直播,其中「見聞之道」和「接軌之道」已于上周精彩收官.
1900/1/1 0:00:00據最新消息,SUN.io已于6月7日推出新的2pool(USDT/USDD)礦池,支持USDT、USDD之間的兌換。與此同時,現有的2pool更名為“Old2pool”.
1900/1/1 0:00:002022年6月9日,波場TRON創始人孫宇晨正式宣布聯合波場聯合儲備及多家知名投資機構收購全球知名加密貨幣交易所Poloniex,并同時啟用“波場交易所”作為其華語社區品牌.
1900/1/1 0:00:00雖然黑客的技術經常成為頭條新聞,但對加密公司的另一個更低調的威脅正潛伏在離家更近的地方。根據Verizon的一項調查,內部人員對大約22%的安全事件負責,而金融服務行業受到的影響最為嚴重.
1900/1/1 0:00:00ParaID2055的團隊贏得Polkadot第21次插槽Auction。有趣的是,在這次插槽蠟燭期快結束時,獲勝者和第二名Integritee之間的差距僅為21DOT,0.03%的差距.
1900/1/1 0:00:00無論您是對沖基金、企業財務主管還是資產經理,選擇合適的托管人都是您在數字資產方面取得成功的關鍵。然而,駕馭數字資產托管環境并非易事。加密已經改變了傳統金融的游戲規則.
1900/1/1 0:00:00