
SharkTeam 對此事件第一時間進行了技術分析,並總結了安全防範手段,希望後續項目可以引以為戒,共築區塊鏈產業的安全防線。
一、攻擊事件分析
OKX: Dex Aggregator 合約:0x 70 cbb 871 e 8 f 30 fc 8 ce 23609 e 9 e 0 ea 87 b 6 b 222 f 58
UpgradeableProxy 合約:0x55b35bf627944396f9950dd6bddadb5218110c76
Proxy Admin Owner: 0xc82Ea2afE1Fd1D61C4A12f5CeB3D7000f564F5C6
Proxy Admin 合約:0x3c18F8554362c3F07Dc5476C3bBeB9Fdd6F6a500
攻擊發動者地址:0xFacf375Af906f55453537ca31fFA99053A010239
資金流向地址1 :0x1f14e38666cdd8e8975f9acc09e24e9a28fbc42d
資金流向位址2 :0x0519eFACB73A1f10b8198871E58D68864e78B8A5
惡意ProxyMain 合約1 :0x5c4794d9f34fb74903cfafb3cff6e4054b90c167
惡意ProxyMain 合約2 :0xF36C407F3C467e9364Ac1b2486aA199751BA177D
惡意Proxy 合約創建者:0x5A58D1a81c73Dc5f1d56bA41e413Ee5288c65d7F
其中一筆漏洞利用交易:0x570cf199a84ab93b33e968849c346eb2b761db24b737d44536d1bcb010bca69d
攻擊流程:
1.2023 年12 月12 日22: 20: 35 ,EOA(0x 5 A 58 D 1 a 8)創建了ProxyMain 合約(0x 5 c 4794 d 9);
2.2023 年12 月12 日22: 23: 47 ,Proxy Admin Owner(0xc82Ea2af)透過Proxy Admin(0x3c18F855)將DEXProxy 合約升級為新的執行合約(0x5c4794d9);
3.2023 年12 月12 日23: 52: 47 ,EOA(0x5A58D1a8)創建了ProxyMain 合約(0xF36C407F);
4.2023 年12 月12 日23: 53: 59 ,Proxy Admin Owner(0xc82Ea2af)透過Proxy Admin(0x3c18F855)將DEXProxy 合約升級為新的執行合約(0xF36C407F);
5.這兩次升級合約的目的相同,新合約的功能是呼叫TokenApprove 合約的claimTokens 函數來完成轉帳。
二、攻擊原理分析
1.在執行合約ProxyMain 時,首先限制該合約的呼叫者必須是攻擊者地址(0xFacf375A),然後執行Dex Aggregator 合約的claimTokens 函數;
2.在Dex Aggregator 合約的claimTokens 函數中,由於該合約尚未在Etherscan 上開源,我們透過反編譯獲得了其原始碼。從程式碼片段中可以看出,claimTokens 函數會驗證代理程式是否可信。一旦驗證通過,它將呼叫OKX DEX: TokenApprove 函數;
3.在OKX DEX: TokenApprove 函數中,正常偵測呼叫者是否為可信任Proxy。與先前可信任的Proxy 驗證相同,只要是可信任Proxy 且使用者已授權TokenApprove,攻擊者就能夠竊取被授權使用者的資金。
三、鏈上資產追踪
攻擊和資產轉移主要聚焦在以下3 個位址:
攻擊地址:0xFacf375Af906f55453537ca31fFA99053A010239 (OKX Exploiter);
收款地址:0x1F14E38666cDd8e8975f9acC09e24E9a28fbC42d (OKX Exploiter 2);
收款地址:0x0519eFACB73A1f10b8198871E58D68864e78B8A5 (OKX Exploiter 3)。
在這次攻擊中,攻擊地址只負責不斷呼叫TokenApprove 合約的claimTokens 函數來發動轉賬,透過兩個收款地址完成收款。
1.攻擊地址:0xFacf375Af906f55453537ca31fFA99053A010239 (OKX Exploiter)在發動攻擊前的歷史交易:
Inflow:
Outflow:
分別向0x4187b2daf33764803714D22F3Ce44e8c9170A0f3 轉帳20419 USDT 和1173 USDT,經由中間地址0x4A0cF014849702C0c3c46C29 1525954cc f,該地址有高頻次數值千以上的轉入,然後以每筆300000 USDT 的形式轉帳至0x6b8DEfc76faA33EC11006CEa5176B1cec2078DfE,隨後轉入有OKX 標籤的多個地址,eg
0x3D55CCb2a943d88D39dd2E62DAf767C69fD0179F(OKX 23)
0x68841a1806fF291314946EebD0cdA8b348E73d6D(OKX 26)
0xBDa23B750dD04F792ad365B5F2a6F1d8593796f2(OKX 21)
0x276cdBa3a39aBF9cEdBa0F1948312c0681E6D5Fd(OKX 22)
....
另外該地址還有透過Railgun:Relay 轉移部分USDT、透過Uniswap 換幣的行為。
2.收款地址1 :0x1F14E38666cDd8e8975f9acC09e24E9a28fbC42d (OKX Exploiter 2):
Inflow:
Outflow:
通過4 個位址:
0xBbEa72B68138B9a1c3fec2f563E323d025510A4c
0x141F12aB25Fcd1c470a2ede34ad4ec49718B5209
0xFD681A9aA555391Ef772C53144db8404AEC76030
0x17865c33e40814d691663bC292b2F77000f94c34
分散資金,然後使用標籤為Railgun:Relay Railgun: Treasury 的地址轉移,最終透過標籤為Stargate 的地址轉移410204.0 USDT 至BNB Smart Chain 上。
3.收款地址2 :0x0519eFACB73A1f10b8198871E58D68864e78B8A5 (OKX Exploiter 3)
通過中間地址0x48E3712C473364814Ac8d87a2A70a9004a42E9a3
轉移62 萬USDT 至
0xE8A66A5862Ba07381956449e58999DB541e4DE93
和0x8094b97A1663b7b73d6c76811355a734BA6F4A1A,
然後這兩個地址又分別轉移到兩個新地址:
0xB31a2196050A3B861C65f23E180E56eD51cf75D7
和0x0C1f0233091D6ed371dC84A0ad1602209bCa429c,
最後透過標籤為Stargate 的地址轉移617964.77 到Avalanche C-Chain 上。
駭客可能在OKX、Gate.io、MEXC 多個交易所上開設有帳號並進行過交易,可以進行針對性KYC 取證,而Kumo x World 的項目合約部署地址也與黑客地址有直接的轉帳交易。
四、安全建議
這次攻擊事件的根本原因是Proxy Admin Owner(0x c 82 Ea 2 af) 的私鑰洩露,導致升級了攻擊者部署的惡意Proxy。由於升級了新的惡意執行合約,該合約被列為可信賴的Proxy。 TokenApprove 偵測到惡意執行合約是可信任的,因此攻擊者可以竊取使用者過多授權給TokenApprove 的資金。所以,請務必保管好重要帳戶位址的私鑰。
About Us
SharkTeam 的願景是保護Web3世界的安全。團隊由來自世界各地的經驗豐富的安全專業人士和高級研究人員組成,精通區塊鍊和智慧合約底層理論。提供包括鏈上大數據分析、鏈上風險預警、智慧合約審計、加密資產追討等服務,並打造了鏈上大數據分析和風險預警平台ChainAegis,平台支援無限層級的深度圖分析,能有效對抗Web3世界的高階持續威脅(Advanced Persistent Threat,APT)。已與Web3生態各領域的關鍵參與者,如Polkadot、Moonbeam、polygon、Sui、OKX、imToken、ChainIDE 等建立長期合作關係。
官網:https://www.sharkteam.org
Twitter:https://twitter.com/sharkteamorg
Discord:https://discord.gg/jGH9xXCjDZ
Telegram:https://t.me/sharkteamorg