SharkTeam はこのインシデントの技術分析を直ちに実施し、セキュリティ上の注意事項をまとめましたので、今後のプロジェクトがこれを教訓にして、ブロックチェーン業界のセキュリティ防御ラインを共同で構築できることを期待しています。
1. 攻撃イベントの分析
OKX: Dex アグリゲーター契約: 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
プロキシ管理者契約: 0x3c18F8554362c3F07Dc5476C3bBeB9Fdd6F6a500
攻撃開始者のアドレス: 0xFacf375Af906f55453537ca31fFA99053A010239
ファンド フロー アドレス 1: 0x1f14e38666cdd8e8975f9acc09e24e9a28fbc42d
資金フロー アドレス 2: 0x0519eFACB73A1f10b8198871E58D68864e78B8A5
悪意のあるプロキシ主契約 1: 0x5c4794d9f34fb74903cfafb3cff6e4054b90c167
悪意のあるプロキシメイン コントラクト 2: 0xF36C407F3C467e9364Ac1b2486aA199751BA177D
悪意のあるプロキシ契約作成者: 0x5A58D1a81c73Dc5f1d56bA41e413Ee5288c65d7F
エクスプロイト トランザクションの 1 つ: 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 に、プロキシ管理者オーナー (0xc82Ea2af) は、プロキシ管理者 (0x3c18F855) を通じて DEXProxy コントラクトを新しい実行コントラクト (0x5c4794d9) にアップグレードしました。
3. 2023 年 12 月 12 日の 23:52:47 に、EOA (0x5A58D1a8) が ProxyMain コントラクト (0xF36C407F) を作成しました。
4. 2023 年 12 月 12 日 23:53:59 に、プロキシ管理者オーナー (0xc82Ea2af) は、プロキシ管理者 (0x3c18F855) を通じて DEXProxy コントラクトを新しい実行コントラクト (0xF36C407F) にアップグレードしました。
5. これら 2 つのコントラクト アップグレードの目的は同じであり、新しいコントラクトの機能は、TokenApprove コントラクトのclaimTokens 関数を呼び出して転送を完了することです。
2. 攻撃原理の分析
1. コントラクト ProxyMain を実行するとき、まずコントラクトの呼び出し元を攻撃者のアドレス (0xFacf375A) に制限し、次に Dex Aggregator コントラクトのclaimTokens 関数を実行します。
2. Dex Aggregator コントラクトのclaimTokens 関数では、Etherscan 上でコントラクトがまだオープンソース化されていないため、逆コンパイルしてソース コードを取得しました。コード スニペットからわかるように、claimTokens 関数はエージェントが信頼できるかどうかを検証します。検証されると、OKX DEX: TokenApprove 関数が呼び出されます。
3. OKX DEX: TokenApprove 関数では、通常、呼び出し元が信頼できるプロキシであるかどうかを検出します。以前の信頼されたプロキシの検証と同じように、それが信頼されたプロキシであり、ユーザーが TokenApprove を承認している限り、攻撃者は承認されたユーザーの資金を盗むことができます。
3. チェーン上の資産追跡
攻撃と資産転送は主に次の 3 つのアドレスに焦点を当てています。
攻撃アドレス: 0xFacf375Af906f55453537ca31fFA99053A010239 (OKX エクスプロイター)。
支払いアドレス: 0x1F14E38666cDd8e8975f9acC09e24E9a28fbC42d (OKX Exploiter 2);
支払いアドレス: 0x0519eFACB73A1f10b8198871E58D68864e78B8A5 (OKX Exploiter 3)。
この攻撃では、攻撃アドレスは、TokenApprove コントラクトのclaimTokens 関数を継続的に呼び出して、転送を開始し、2 つの支払いアドレスを介して回収を完了することのみを担当します。
1. 攻撃アドレス: 0xFacf375Af906f55453537ca31fFA99053A010239 (OKX Exploiter) 攻撃を開始する前の履歴トランザクション:
Inflow:
Outflow:
20419 USDT と 1173 USDT をそれぞれ 0x4187b2daf33764803714D22F3Ce44e8c9170A0f3 に転送し、中間アドレス 0x4A0cF014849702C0c3c46C2df90F0CAd1E504328、Railgun:Relay および複数の中間を介して 0x7A に転送します。 20527ba5a749b3b054a821950Bfcc2C01b959f、このアドレスは 1,000 回以上の転送頻度が高く、それぞれ 300,000 USDT が転送されます。 0x6b8DEfc76faA33EC11006CEa5176B1cec2078DfE に、OKX ラベルが付いた複数のアドレスが続きます。例:
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 スマート チェーンに転送します。
3. 支払いアドレス 2: 0x0519eFACB73A1f10b8198871E58D68864e78B8A5 (OKX Exploiter 3)
中間アドレス 0x48E3712C473364814Ac8d87a2A70a9004a42E9a3 経由
620,000 USDT を次の宛先に送金します
0xE8A66A5862Ba07381956449e58999DB541e4DE93
および 0x8094b97A1663b7b73d6c76811355a734BA6F4A1A、
次に、これら 2 つのアドレスがそれぞれ 2 つの新しいアドレスに転送されました。
0xB31a2196050A3B861C65f23E180E56eD51cf75D7
および 0x0C1f0233091D6ed371dC84A0ad1602209bCa429c、
最後に、617964.77 は、Stargate というラベルの付いたアドレスを通じて Avalanche C-Chain に転送されました。
ハッカーは、OKX、Gate.io、MEXCなどの複数の取引所で口座を開設し取引を行っている可能性があり、対象を絞ったKYC証拠収集を行うことができ、また、Kumo x Worldのプロジェクト契約展開アドレスもハッカーと直接送金取引を行っている可能性があります。住所。
4. 安全に関する提案
この攻撃の根本原因は、プロキシ管理者所有者の秘密キー (0x c 82 Ea 2 af) の漏洩であり、これにより、攻撃者が導入した悪意のあるプロキシがアップグレードされました。新しい悪意のある実行コントラクトのアップグレードにより、このコントラクトは信頼できるプロキシとしてリストされます。 TokenApprove は、悪意のあるコントラクトの実行が信頼できるものであることを検出するため、攻撃者はユーザーが TokenApprove に過剰に許可した資金を盗む可能性があります。したがって、重要なアカウントアドレスの秘密鍵は必ず保管してください。
About Us
SharkTeam のビジョンは、Web3 の世界を保護することです。このチームは、ブロックチェーンとスマート コントラクトの基礎理論に精通した、世界中から集まった経験豊富なセキュリティ専門家と上級研究者で構成されています。オンチェーンビッグデータ分析、オンチェーンリスク警告、スマートコントラクト監査、暗号資産回復などのサービスを提供しており、オンチェーンビッグデータ分析およびリスク警告プラットフォームChainAegisを構築しています。詳細なグラフ分析を利用して、Web3 の世界での高度永続的脅威 (APT) と効果的に戦うことができます。 Polkadot、Moonbeam、polygon、Sui、OKX、imToken、ChainIDE など、Web3 エコシステムのさまざまな分野の主要企業と長期的な協力関係を確立しています。
公式ウェブサイト:https://www.sharkteam.org
Twitter:https://twitter.com/sharkteamorg
Discord:https://discord.gg/jGH9xXCjDZ
Telegram:https://t.me/sharkteamorg