原標題|千萬美元被盜——DeFi平臺MonoXFinance被黑分析
作者|九九@慢霧安全團隊
2021年11?30?,據慢霧區消息,DeFi平臺MonoXFinance遭遇攻擊,本次攻擊中約合1820萬美元的?WETH和1050萬美元的MATIC被盜,其他被盜Token包括WBTC、LINK、GHST、DUCK、MIM和IMX,損失共計約3100萬美元。慢霧安全團隊第?時間介?分析,并將簡要分析結果分享如下。
攻擊核心
本次攻擊的核?在于利?swap合約中沒有對池中傳?和傳出代幣是否相同作檢查,以此利?價格更新機制的缺陷,使得攻擊者傳?和傳出代幣相同時,價格被二次計算并覆蓋,導致代幣價格不斷被推?,并以此代幣換出池中的其他代幣來獲利。
相關信息
MonoX是?種新的DeFi協議,使?單?代幣設計?于流動性池。這是通過將存?的代幣與vCASH穩定幣組合成?個虛擬交易對來實現的。其中的單?代幣流動性池的第?個應?是?動做市商系統-Monoswap,它在2021年10?時推出。
Blur已支持用戶在移動設備上架和購買NFT:6月20日消息,據官方消息,NFT市場Blur已支持用戶在移動設備上使用出價、上架、借貸、先買后付以及投資組合管理等功能。與此同時,用戶無需登錄便可在桌面和移動設備上瀏覽所有Blur收藏品。[2023/6/20 21:48:20]
攻擊者地址1:
0xecbe385f78041895c311070f344b55bfaa953258
攻擊者地址?2:
0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b
攻擊合約?1:
0xf079d7911c13369e7fd85607970036d2883afcfd
攻擊合約2:
0x119914de3ae03256fd58b66cd6b8c6a12c70cfb2
Stone Ridge旗下加速器Wolf公布首批入圍比特幣生態項目名單:5月26日消息,資產管理公司Stone Ridge旗下In Wolf's Clothing(Wolf)創業加速器公布首批入圍的比特幣生態項目名單,Wolf提供將為入選的團隊提供種子資金及相關指導等。入選項目包括:比特幣的去中心化交易10101、Arcade、Agora、Dustup、ShockNet、Route、Zawda、Zeus等。[2023/5/26 9:44:34]
攻擊交易1:
https://etherscan.io/tx/0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299
攻擊交易2:
https://polygonscan.com/tx/0x5a03b9c03eedcb9ec6e70c6841eaa4976a732d050a6218969e39483bb3004d5d
Web3游戲開發公司Midnight完成750萬美元種子輪融資,Shima Capital領投:11月25日消息,Web3游戲開發公司Midnight宣布完成750萬美元種子輪融資,Shima Capital領投,區塊鏈平臺Forte、流行游戲社區Snackclub、公會和模組平臺Overwolf、Woodstock Fund、FJ Labs、Bixin Ventures等參投。
Midnight此前一直處于“隱身”模式,旨在利用區塊鏈技術為玩家創造真正價值并構建一個基于IP的游戲世界,旗下產品有2D像素格斗游戲Next Protectors、4X MMO游戲Legion等。(venturebeat)[2022/11/26 20:46:45]
攻擊細節
1、首先攻擊者調用Monoswap.swapExactTokenForToken:0.1個WETH換出79.986094311542621010個MONO。
狗狗幣創始人:加密垃圾郵件機器人已叫停:10月1日消息,狗狗幣創始人Billy Markus再次使用Twitter,他表示,注意到垃圾郵件機器人的數量減少了,并想知道Twitter是否已采取任何措施來解決這個問題。Boardroom Capital的創始人表示,“加密貨幣下降得如此糟糕,甚至機器人都退出了”。
此前報道,加密社區用戶Pranay Pathole向Elon Musk提出,需要解決推特上加密垃圾郵件機器人的問題,因為這些機器人程序真的很煩人并建議改進推特驗證系統。Elon Musk對此表示,的確如此,這也是他個人覺得Twitter上最煩人的一個問題。[2022/10/1 22:44:03]
2、接著攻擊者利用漏洞移除池子中其他用戶的流動性,并為添加攻擊合約的流動性以此來獲取最大的利益。
這里移除流動性處的漏洞在Monoswap.sol中的471-510行,移除池中流動性時通過removeLiquidity函數調用_removeLiquidityHelper函數,而這兩個函數都未做調用者和傳入的to參數的身份驗證,所以可直接移除任意用戶在池中的流動性。
消息人士:公鏈項目Aptos正在尋求以27.5億美元估值進行新一輪融資:7月22日消息,消息人士透露,由 Diem 原團隊成員成立的公鏈項目 Aptos 已與投資者討論了新一輪融資,該公司的估值將為27.5億美元,隨著談判的進行,估值可能會增加。
此前消息,Aptos 項目于今年 3 月份完成由 a16z 領投的 2 億美元融資,預計在 9 月底左右推出主網。(The Information)[2022/7/22 2:31:07]
移除0x7b9aa6的流動性,把1670.7572297649224個MONO和6.862171986812230290個vCASH轉出給0x7b9aa6;移除cowrie.eth的流動性,把152.9745213857155個MONO和0.628300423692773565個vCASH轉出給cowrie.eth;移除0xab5167的流動性,把99940.7413658327個MONO和410.478879590637971405個vCASH轉出給0xab5167;為攻擊合約1在MONO代幣流動池創建流動性。
3、緊接著攻擊者調??55?次?Monoswap.swapExactTokenForToken以此來不斷堆?MONO的價格。
這里攻擊的核心是在Monoswap.sol中的swapExactTokenForToken函數,攻擊者傳入MONO代幣使得tokenIn和tokenOut是相同的代幣。
跟到swapIn函數中:
可以發現在swapIn函數中,調用了函數getAmountOut來計算價格。接著跟到getAmountOut函數中發現是利用了_getNewPrice函數來計算tokenInPrice和tokenOutPrice。
跟到_getNewprice函數中,發現當計算tokenInPrice時候傳入的txType參數為TxType.SELL,此時:
當計算tokenOutPrice時候傳入的txType參數為TxType.BUY,此時:
如果傳入和傳出為同一種代幣時,價格計算式中的四個變量都相同,所以很容易得出tokenOutPrice會比tokenInPrice要大。
由于tokenIn和tokenOut是同一個token,swapIn函數在計算完價格后會再次調用_updateTokenInfo函數,使得tokenOutPrice的更新會覆蓋tokenInPrice的更新,所以導致這個token的價格上漲。
4、最后攻擊者調用swapTokenForExactToken函數用MONO來換出池子中的其他代幣。
swapTokenForExactToken函數中調用了swapOut函數,而swapOut函數中計算價格是調用的getAmountIn函數。
在該函數中由于tokenInPoolPrice是取的MONO代幣在池中的價格,而此價格在之前已被推高,導致tokenInPrice變大,計算最后的amountIn變小,用更少的MONO換出了原來相同數量的WETH、WBTC、MONO、USDC、USDT、DUCK、MIM、IMX等池子中的代幣。
5、攻擊者最終把攻擊獲利轉入地址
0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b。
以上為以太坊主鏈上的攻擊分析,此外,攻擊者除了在以太坊主鏈上進行攻擊外,還在Polygon上進行了同樣的攻擊,攻擊手法與以太坊主鏈上相同,此處不做過多重復的分析。
據慢霧AML統計,MonoXFinance最終損失約3400萬美元,包括約2.1K個WETH、1.9M個WMATIC、36.1個WBTC、143.4K個MONO、8.2M個USDC、9.1M個USDT、1.2K個LINK、3.1K個GHST、5.1M個DUCK、4.1K個MIM以及274.9個IMX。
總結
本次攻擊是利用了swap合約里沒有對池中傳入和傳出代幣作檢查,從而利用價格更新機制的問題,由于在swap合約中會對池中傳入和傳出的代幣的價格調用同一個函數_upTokenInfo來進行更新,而當傳入和傳出的代幣為同一種代幣時,第二次調用_upTokenInfo函數時,通過價格計算后的更高的tokenOutPrice會覆蓋掉價格更低的tokenInPrice,以此來不斷推高池中該代幣的價格,最后可以換出池中其他的所有代幣來獲利離場。
Tags:TOKTOKETOKENKENSecured MoonRat TokenMirror World TokenBulldog TokenimToken錢包app下載
Paycoin(PCI)是韓國增長最快、規模最大的基于區塊鏈的支付解決方案,而且有計劃將其業務擴展到全球市場.
1900/1/1 0:00:00在Melos.studio項目網站上最新更新的版本里,用戶已經可以自由進行音樂NFT的創作和鑄造.
1900/1/1 0:00:00為了慶祝索尼影業的《蜘蛛俠3》在全美影院的首映,AMCTheatres正在計劃一場NFT宣傳活動.
1900/1/1 0:00:00總部位于丹佛的投資公司KellyStrategicManagement已提交了一份交易所交易基金(ETF)申請,提供以太坊期貨合約的風險敞口.
1900/1/1 0:00:00RadioCaca在當前爆火的元獸島游戲基礎只上,官宣開發一款獨立的基于現有元獸NFT的大型3D策略游戲。元獸王國將會強調玩家競爭要素,玩法多樣有趣.
1900/1/1 0:00:0023:30-07:00 關鍵詞:德國新政府在其聯盟協議中引用了加密貨幣、美國退伍軍人事務部、加密貨幣市值、加密貨幣市場1.11月26日消息,中關村在投資者互動平臺表示.
1900/1/1 0:00:00