原文作者:九九,慢霧安全團隊
2022年6月27日,據慢霧區消息,XCarnival項目被曝出嚴重漏洞遭黑客攻擊并盜走3,087個ETH。XCarnival是一個ETH鏈上的NFT借貸項目,目前項目團隊正在修復漏洞并承諾會對受影響的用戶提供解決方案。慢霧安全團隊第一時間介入分析,并將結果分享如下:
相關信息
核心合約地址
P2Controller:
0x34ca24ddcdaf00105a3bf10ba5aae67953178b85
XNFT:
0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909
xToken:
0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663
慢霧:PREMINT攻擊者共竊取約300枚NFT,總計獲利約280枚ETH:7月18日消息,慢霧監測數據顯示,攻擊PREMINT的兩個黑客地址一共竊取了大約300枚NFT,賣出后總計獲利約280枚ETH。此前報道,黑客在PREMINT網站植入惡意JS文件實施釣魚攻擊,從而盜取用戶的NFT等資產。[2022/7/18 2:19:58]
攻擊者EOA地址
0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a
攻擊合約地址
0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d
0x234e4B5FeC50646D1D4868331F29368fa9286238
0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8
慢霧:BSC鏈上項目BXH遭受攻擊分析:10月30日消息,據慢霧區情報,2021年10月30日,幣安智能鏈上(BSC)去中心化交易協議BXH項目遭受攻擊,被盜約1.3億美金。經慢霧安全團隊分析,黑客于27日13時(UTC)部署了攻擊合約0x8877,接著在29日08時(UTC)BXH項目管理錢包地址0x5614通過grantRole賦予攻擊合約0x8877管理權限。30日03時(UTC)攻擊者通過攻擊合約0x8877的權限從BXH策略池資金庫中將其管理的資產轉出。30日04時(UTC)0x5614暫停了資金庫。因此BXH本次被盜是由于其管理權限被惡意的修改,導致攻擊者利用此權限轉移了項目資產。[2021/10/30 6:22:02]
0xc45876C90530cF0EE936c93FDc8991534F8A6962
漏洞核心點分析
慢霧:BTFinance被黑,策略池需防范相關風險:據慢霧區情報,智能DeFi收益聚合器BT.Finance遭受閃電貸攻擊。受影響的策略包括ETH、USDC和USDT。經慢霧安全團隊分析,本次攻擊手法與yearnfinance的DAI策略池被黑的手法基本一致。具體分析可參考慢霧關于yearnfinace被黑的技術分析。慢霧安全團隊提醒,近期對接CurveFinance做相關策略的機槍池頻繁遭受攻擊。相關已對接CurveFinance收益聚合器產品應注意排查使用的策略是否存在類似問題,必要時可以聯系慢霧安全團隊協助處理。[2021/2/9 19:19:41]
1.攻擊者通過XNFT合約中的pledgeAndBorrow函數來進行抵押NFT并借出xToken。
聲音 | 慢霧:99%以上的勒索病使用BTC進行交易:據慢霧消息,勒索病已經成為全球最大的安全威脅之一,99%以上的勒索病使用BTC進行交易,到目前為止BTC的價格已經漲到了一萬多美元,最近一兩年針對企業的勒索病攻擊也越來越多,根據Malwarebytes統計的數據,全球TO B的勒索病攻擊,從2018年6月以來已經增加了363%,同時BTC的價格也直線上漲,黑客現在看準了數字貨幣市場,主要通過以下幾個方式對數字貨幣進行攻擊:
1.通過勒索病進行攻擊,直接勒索BTC。
2.通過惡意程序,盜取受害者數字貨幣錢包。
3.通過數字貨幣網站漏洞進行攻擊,盜取數字貨幣。[2019/8/25]
在pledgeInternal函數中轉入NFT并生成訂單:
2.接著調用withdrawNFT函數提取出質押的NFT,其中首先判斷該訂單是否被清算狀態,如果不是則判斷該訂單的狀態是否為NFT還未被提取且借款金額為0,如果通過即可提取抵押的NFT。
3.以上為攻擊前生成訂單的準備操作,接著攻擊者開始利用生成的訂單直接調用xToken合約中的borrow函數進行借款。
在borrowInternal函數中,會外部調用controller合約中的borrowAllowed函數來判斷是否可以借款。
可以看到在borrowAllowed函數會調用orderAllowed函數進行訂單相關信息的判斷,但是在這兩個函數中均沒有進行_order.isWithdraw狀態的判斷。因此攻擊者可以利用之前生成的訂單來調用XToken的borrow函數來借款,而因為抵押的NFT在之前已經被提出,故攻擊者可以不用還款來實現獲利。
攻擊交易分析
此處僅展示其中一筆攻擊交易的細節,其余攻擊交易的手法均一致,不再贅述。
攻擊前準備——生成訂單的交易:
0x61a6a8936afab47a3f2750e1ea40ac63430a01dd4f53a933e1c25e737dd32b2f
1.首先攻擊者將NFT轉入攻擊合約并進行授權,接著調用xNFT合約中的pledgeAndBorrow函數在進行抵押NFT生成訂單并借款的操作,此處需要注意一點是該函數可以控制傳入的xToken,攻擊者傳入了自己構造的xToken合約地址,并且讓借款數量為0,目的是為了滿足后續能成功提出NFT時的不被清算且負債為0的條件。
2.攻擊者緊接著調用withdrawNFT函數來進行提取抵押的NFT:
正式攻擊交易:
0x51cbfd46f21afb44da4fa971f220bd28a14530e1d5da5009cfbdfee012e57e35
攻擊者調用xToken合約的borrow函數,傳入之前生成的訂單的orderID,重復了該操作22次,而因為NFT在準備階段已經提走,估計無需還款以此來獲利。
總結
本次漏洞的核心在于借款的時候,沒有進行訂單中NFT是否被提走的狀態的判斷,導致攻擊者可以在把NFT提走之后再利用之前生成的訂單來借款而無需還款,以此來獲利。針對此類漏洞,慢霧安全團隊建議在進行借款操作時應做好訂單狀態中是否已經提走抵押品的判斷,避免再次出現此類問題。
Tags:NFTROWBORXTOKENNFTCircleEscrowed IlluviumBORK價格dyxtoken
10天前我寫了一篇關于ArrowDAO激勵結構的帖子,把它作為一個案例拆解分析,但并未詳細介紹ArrowDAO本身.
1900/1/1 0:00:002萬美元讓人感到害怕,但這可能不是比特幣最新一輪熊市的結束。比特幣接近2萬美元的價格令市場擔憂,但在勉強避開跌破支撐位之后,最糟糕的情況真的結束了嗎?從多個鏈上指標來看,本輪周期似乎還沒有迎來最.
1900/1/1 0:00:00頭條 ▌Celsius否認公司CEO試圖離開美國的報道6月28日消息,昨日有報道稱,CelsiusNetwork首席執行官AlexMashinsky上周曾試圖通過美國莫里斯敦機場離開該國.
1900/1/1 0:00:00如今似乎人人都是創作者──無論是藝術家、開發者、還是其他各懷絕技的人。然而,創作者經濟仍有發展空間.
1900/1/1 0:00:00杰克·多爾西的加密業務部門TBD最近宣布,他們正在構建一個基于比特幣的去中心化平臺:Web5。該項目旨在將個人數據和身份管理的權利交還給網絡用戶.
1900/1/1 0:00:00文:WILLIAMSUBERG?由于宏觀因素的觸發,交易員們準備迎接7月的焰火,而比特幣價格走勢有望以低于200周移動平均線的歷史性月收盤價收盤.
1900/1/1 0:00:00