2022年6月27日,據慢霧區消息,XCarnival項目被曝出嚴重漏洞遭黑客攻擊并盜走3,087個ETH。XCarnival是一個ETH鏈上的NFT借貸項目,目前項目團隊正在修復漏洞并承諾會對受影響的用戶提供解決方案。慢霧安全團隊第一時間介入分析,并將結果分享如下:相關信息
核心合約地址P2Controller:0x34ca24ddcdaf00105a3bf10ba5aae67953178b85XNFT:0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909xToken:0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663攻擊者EOA地址0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a攻擊合約地址0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d0x234e4B5FeC50646D1D4868331F29368fa92862380x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d80xc45876C90530cF0EE936c93FDc8991534F8A6962漏洞核心點分析
慢霧:區塊鏈因黑客攻擊損失總金額已超300億美元:金色財經報道,據慢霧統計數據顯示,自2012年1月以來,區塊鏈黑客造成的損失總金額約為30,011,604,576.24美元;黑客事件總數達到1101起。
其中Exchange、ETH Ecosystem、Bridge是在黑客攻擊中損失最大的類別,損失金額分別為10,953,323,803.39美元、3,123,297,416.28美元,2,005,030,543.30美元。另外合約漏洞、Rug Pull、閃電貸攻擊是最常見的攻擊方式,分別發生黑客事件137起,106起,87起。[2023/7/7 22:24:09]
1.攻擊者通過XNFT合約中的pledgeAndBorrow函數來進行抵押NFT并借出xToken。
慢霧:有用戶遭釣魚攻擊,在OpenSea上架的NFT以極低匹配價格售出:據慢霧消息,有用戶在 OpenSea 掛單售賣的 NFT 被惡意的以遠低于掛單價匹配買。經慢霧安全團隊分析,此是由于該受害用戶遭受釣魚攻擊,錯誤的對攻擊者精心構造的惡意訂單進行簽名,惡意訂單中指定了極低的出售價格、買方地址為攻擊者以及出售 NFT 為受害用戶在 OpenSea 上架的待出售 NFT。攻擊者使用受害用戶已簽名的出售訂單以及攻擊者自己的購買訂單在 OpenSea 中進行匹配,并以攻擊者指定的極低價格成交,導致受害用戶的 NFT 以非預期的價格售出。[2021/12/11 7:31:47]
慢霧:yearn攻擊者利用閃電貸通過若干步驟完成獲利:2021年02月05日,據慢霧區情報,知名的鏈上機槍池yearnfinance的DAI策略池遭受攻擊,慢霧安全團隊第一時間跟進分析,并以簡訊的形式給大家分享細節,供大家參考:
1.攻擊者首先從dYdX和AAVE中使用閃電貸借出大量的ETH;
2.攻擊者使用從第一步借出的ETH在Compound中借出DAI和USDC;
3.攻擊者將第二部中的所有USDC和大部分的DAI存入到CurveDAI/USDC/USDT池中,這個時候由于攻擊者存入流動性巨大,其實已經控制CruveDAI/USDC/USDT的大部分流動性;
4.攻擊者從Curve池中取出一定量的USDT,使DAI/USDT/USDC的比例失衡,及DAI/(USDT&USDC)貶值;
5.攻擊者第三步將剩余的DAI充值進yearnDAI策略池中,接著調用yearnDAI策略池的earn函數,將充值的DAI以失衡的比例轉入CurveDAI/USDT/USDC池中,同時yearnDAI策略池將獲得一定量的3CRV代幣;
6.攻擊者將第4步取走的USDT重新存入CurveDAI/USDT/USDC池中,使DAI/USDT/USDC的比例恢復;
7.攻擊者觸發yearnDAI策略池的withdraw函數,由于yearnDAI策略池存入時用的是失衡的比例,現在使用正常的比例體現,DAI在池中的占比提升,導致同等數量的3CRV代幣能取回的DAI的數量會變少。這部分少取回的代幣留在了CurveDAI/USDC/USDT池中;
8.由于第三步中攻擊者已經持有了CurveDAI/USDC/USDT池中大部分的流動性,導致yearnDAI策略池未能取回的DAI將大部分分給了攻擊者9.重復上述3-8步驟5次,并歸還閃電貸,完成獲利。參考攻擊交易見原文鏈接。[2021/2/5 18:58:47]
在pledgeInternal函數中轉入NFT并生成訂單:
聲音 | 慢霧:ETC 51%雙花攻擊所得的所有ETC已歸還完畢:據慢霧區消息,ETC 51%攻擊后續:繼Gate.io宣稱攻擊者歸還了價值10萬美金的ETC后,另一家被成功攻擊的交易所Yobit近日也宣稱收到了攻擊者歸還的122735 枚 ETC。根據慢霧威脅情報系統的深度關聯分析發現:攻擊者于UTC時間2019年1月10日11點多完成了攻擊所獲的所有ETC的歸還工作,至此,持續近一周的 ETC 51% 陰云已散。[2019/1/16]
2.接著調用withdrawNFT函數提取出質押的NFT,其中首先判斷該訂單是否被清算狀態,如果不是則判斷該訂單的狀態是否為NFT還未被提取且借款金額為0,如果通過即可提取抵押的NFT。
3.以上為攻擊前生成訂單的準備操作,接著攻擊者開始利用生成的訂單直接調用xToken合約中的borrow函數進行借款。
在borrowInternal函數中,會外部調用controller合約中的borrowAllowed函數來判斷是否可以借款。
可以看到在borrowAllowed函數會調用orderAllowed函數進行訂單相關信息的判斷,但是在這兩個函數中均沒有進行_order.isWithdraw狀態的判斷。因此攻擊者可以利用之前生成的訂單來調用XToken的borrow函數來借款,而因為抵押的NFT在之前已經被提出,故攻擊者可以不用還款來實現獲利。
攻擊交易分析
此處僅展示其中一筆攻擊交易的細節,其余攻擊交易的手法均一致,不再贅述。攻擊前準備——生成訂單的交易:0x61a6a8936afab47a3f2750e1ea40ac63430a01dd4f53a933e1c25e737dd32b2f1.首先攻擊者將NFT轉入攻擊合約并進行授權,接著調用xNFT合約中的pledgeAndBorrow函數在進行抵押NFT生成訂單并借款的操作,此處需要注意一點是該函數可以控制傳入的xToken,攻擊者傳入了自己構造的xToken合約地址,并且讓借款數量為0,目的是為了滿足后續能成功提出NFT時的不被清算且負債為0的條件。
2.攻擊者緊接著調用withdrawNFT函數來進行提取抵押的NFT:
正式攻擊交易:0x51cbfd46f21afb44da4fa971f220bd28a14530e1d5da5009cfbdfee012e57e35攻擊者調用xToken合約的borrow函數,傳入之前生成的訂單的orderID,重復了該操作22次,而因為NFT在準備階段已經提走,估計無需還款以此來獲利。
總結
本次漏洞的核心在于借款的時候,沒有進行訂單中NFT是否被提走的狀態的判斷,導致攻擊者可以在把NFT提走之后再利用之前生成的訂單來借款而無需還款,以此來獲利。針對此類漏洞,慢霧安全團隊建議在進行借款操作時應做好訂單狀態中是否已經提走抵押品的判斷,避免再次出現此類問題。
Odaily星球日報譯者|Moni 一位知名藝術家聲稱,地球上最大的NFT品牌是由納粹支持者秘密經營的,這位藝術家隨后開始出售該品牌的山寨版NFT系列,凈賺了180萬美元.
1900/1/1 0:00:00作者:0xLaughing,律動BlockBeats 6月20日當天NFT.NYC會場外抗議的人群6月20日,被Coinbase譽為「NFT世界的超級碗」的NFT.NYC盛會在紐約盛大開幕.
1900/1/1 0:00:002022年7月5日,宏觀機構RealVision創始人RaoulPal與FTX的聯合創始人兼首席執行官SamBankman-Fried就宏觀經濟環境與加密市場進行深度討論.
1900/1/1 0:00:00作者|秦曉峰編輯|郝方舟出品|Odaily星球日報 一、整體概述 以太坊客戶端Nethermind發推表示,以太坊Sepolia測試網已部署信標鏈,即將進行合并.
1900/1/1 0:00:00已經磕磕絆絆談判好幾個月的馬斯克收購推特一事,懸了!美東時間7月8日周五,馬斯克團隊以推特嚴重違反了協議中的多項條款為由終止了并購推特的協議.
1900/1/1 0:00:00市場觀點 宏觀流動性 貨幣流動性整體仍緊縮,未來或有松動。美元指數站上107,續創20年以來新高。但是此輪能源等大宗商品價格回落,核心通脹高峰似乎已過.
1900/1/1 0:00:00