舊坑新傷授權惡意合約被竊分析

背景

近期,慢霧安全團隊接觸到幾起由於授權引起的盜幣事件,這些事件是最簡單的 Approve 授權導致的盜幣,而關鍵點在於受害者是在很久之前無意中點擊了Approve 授權。還好區塊鏈的特性- 雁過留痕,在大量鏈上數據中總是能發現蛛絲馬跡。

被盜案例分析

根據受害者提供的信息,被盜交易如下:

(https://bscscan.com/tx/0x59aef62a8cee79996ff2b44b723c97fbc0c6e2a0992c61dea0e65fcb2d78f608)

粗略一看,只能看出受害者地址0x8CCb 被駭客地址0xFf6F 盜走了13,811 USDT。

這筆交易既不是鏈下permit/permit2 簽署方式,也不存在其他合約漏洞任意授權方式,更不是create2 方式。

在我們排除了這些常見的手法後,發現這筆交易竟是最簡單的Approve 授權導致的盜幣,而且是很久之前埋下的導火線。

透過分析先前的鏈上交易記錄,發現被盜的關鍵點在於受害者曾在兩年多前授權過一個合約地址(0x3880285800a89AB3C4338bf455acdA3da6f8fA24),授權記錄如下:

(https://bscscan.com/tx/0x018479875137e5eafcc183c5574cf9197ee14c7921b5f6796b385bb15e8bf96d)

授權交易及被盜轉移交易的時間表列在下面,中間時間間隔長達767 天:

  • 2021 年11 月9 日,08:13:28 – 惡意授權給惡意合約地址交易;

  • 2023 年12 月16 日,07:26:53 – USDT-BEP20 被非授權轉移交易。

授權給惡意合約地址後,資金是如何被偷走的呢?讓我們來進一步看看細節。

(https://dashboard.tenderly.co/tx/bnb/0x59aef62a8cee79996ff2b44b723c97fbc0c6e2a0992c61dea0e65fcb2d78f608)

在這筆交易中,發生了以下步驟:

  • 透過呼叫0xcc4187 合約位址的0xe473d7ed 方法,檢查被竊地址的餘額及對授權給惡意合約的Allowance;

  • 呼叫惡意合約(圖中的TransparentUpgradeableProxy)的Proxy 合約0xd367b5 的0xe5ee9334 方法:

    • 驗證0xcc4187 合約地址的Role 角色權限;

    • 惡意合約作為msg sender 呼叫USDT-BEP20 的transferFrom 函數,從而實現將授權給惡意合約的Token 資產轉移到駭客獲利位址0xFf6F。

MistTrack 分析

根據MistTrack 分析,駭客地址(0xFf6FC7eafF07C93b555a1CA2A9efcBbca2b8c83D) 目前已獲利約20 萬美元,包括多種代幣。

駭客初始資金來自Tornado Cash 轉入的0.098 BNB,且使用過Venus, PancakeSwap, DinosaurEggs, WombatExchange:

接著,我們將惡意合約位址(0x3880285800a89AB3C4338bf455acdA3da6f8fA24) 進行分析:

我們發現這個惡意合約在MistTrack 裡被標記為King,也就是說這個合約地址是原來項目King 的合約地址,該合約地址與Kingfund Finance 也存在交互,King 和Kingfund Finance 應該是同一個項目:

再看下惡意合約位址的創建者位址(0x37a7cA97b33b6a9D1d80D33bff9E38f156FF8541) 被標記為Kingfund Finance: Deployer。

我們在搜尋這個專案資訊的時候,發現這居然是個RugPull 專案。在2022 年1 月19 日,Kingfund Finance 捲款帶走超300 WBNB(約141,000 美元),關閉了其官網和官方推特。也就是說,目前還沒對這個惡意合約取消授權的使用者仍在被盜,慢霧安全團隊建議使用者及時取消對惡意合約的授權。

Dune 數據分析

(https://dune.com/misttrack/rugpull-malicious-authorization)

根據上述總結出的特徵及借助Dune 分析,我們還發現了另一個用戶在2022 年1 月授權了上述提到的惡意合約地址(0x3880285800a89AB3C4338bf455acdA3da6f8fA24),隨後在5 月份又授權了另一個Full 惡意合約地址0x3a40AeC5453dB9b49ACb2993F0F82FB1553f4C23)。

該惡意合約的創建者(0x406119D496a3b0D1F0B7DA020B5e89d6FFf4Ff08) 已將大部分獲利資金轉移到Tornado Cash。

目前相關地址已被MistTrack 封鎖。

總結

本文主要介紹了一個由於早年授權給RugPull 計畫導致後續資金持續被盜的案例,並根據相關特徵擴展出Dune 資料集。釣魚無孔不入,一不小心就中招,慢霧安全團隊建議使用者經常主動查看自己的授權情況,可以使用RevokeCash、ScamSniffer、Rabby 等工具查詢,若發現有異常授權,請及時取消。

Total
0
Shares
Related Posts