捲土重來?駭客獲利約130萬美元,FEGexPRO合約被攻擊事件分析

買賣虛擬貨幣

  2022年5月16日,成都鏈安鏈必應-區塊鏈安全態勢感知平臺輿情監測顯示,ethereum和bnb chain上fegtoken專案的fegexpro合約遭受駭客攻擊,駭客獲利約3280 bnb 以及144 eth,價值約130萬美元。成都鏈安技術團隊對事件進行了分析,結果如下。


#1 事件相關資訊


本次攻擊事件包含多筆交易,部分交易資訊如下所示:


攻擊交易 (部分)

0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063 (bnb chain)

0x1e769a59a5a9dabec0cb7f21a3e346f55ae1972bb18ae5eeacdaa0bc3424abd2 (ethereum)


攻擊者地址

0x73b359d5da488eb2e97990619976f2f004e9ff7c


攻擊合約

0x9a843bb125a3c03f496cb44653741f2cef82f445


被攻擊合約(部分)

0x818e2013dd7d9bf4547aaabf6b617c1262578bc7 (bnb chain)

0xf2bda964ec2d2fcb1610c886ed4831bf58f64948 (ethereum)


#2 攻擊流程


ethereum和bnb chain上使用攻擊手法相同,以下分析基於bnb chain上攻擊:


1. 攻擊者呼叫攻擊合約(0x9a84...f445)利用閃電貸從dvm合約(0xd534...0dd7)中借貸915.84 wbnb,然後將116.81 wbnb兌換成115.65 fbnb為後續攻擊做準備。

2. 攻擊者利用攻擊合約建立了10個合約,為後續攻擊做準備。


3. 攻擊者接下來將兌換得到的fbnb代幣抵押到fegexpro合約(0x818e...8bc7)中。

4. 然後攻擊者重複呼叫depositinternal和swaptoswap函式,讓fegexpro合約授權fbnb給之前建立好的其他攻擊合約。


5. 然後利用其他攻擊合約呼叫transferfrom函式將fegexpro合約中fbnb全部轉移到攻擊合約(0x9a84...f445)中。


6. 接下來又在lp交易對合約(0x2aa7...6c14)中借貸31,217,683,882,286.007211154 feg代幣和423 wbnb。

7. 然後重複3、4、5步驟的攻擊手法,將fegexpro合約中大量feg代幣盜取到攻擊合約中。


8. 然後歸還閃電貸,將獲得的wbnb轉入攻擊合約中完成此筆攻擊。


9. 此後,又利用相同的原理,執行了50餘筆相同的攻擊,最獲利約144 eth和3280 bnb。



#3 漏洞分析


本次攻擊主要利用了fegexpro合約中swaptoswap函式中path地址可控且合約中未對path地址進行有效性校驗的漏洞。由於合約中depositinternal函式中更新使用者餘額時依賴於合約中當前代幣餘額,攻擊者透過傳入一個惡意的path地址,呼叫swaptoswap函式時合約中代幣餘額並未發生變化,導致攻擊者可以反覆重置攻擊合約在fegexpro合約中記錄的代幣數量,從而讓fegexpro合約將自身代幣反覆授權給攻擊者所控制的多個惡意合約。


#4 資金追蹤


截止發文時,被盜資金仍在攻擊者地址(0x73b3...ff7c)中並未轉移。




#5 總結


針對本次事件,成都鏈安技術團隊建議:


專案開發時,應該注意與其他合約互動時可能存在的安全風險,儘量避免將關鍵引數設定為使用者可控。如果業務需求如此,則需要嚴格判斷使用者輸入的引數是否存在風險。此外建議專案上線前選擇專業的安全審計公司進行全面的安全審計,規避安全風險。


免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;