MEV बॉट होनेपोट हमले में $7.5 मिलियन से अधिक का नुकसान: विश्लेषण और धन का ट्रेसिंग

icon MarsBit
साझा करें
AI summary iconसारांश

21 जून को, एथेरियम नेटवर्क पर सबसे सक्रिय MEV बॉट में से एक, Jaredfromsubway.eth, एक धूर्ततापूर्ण "मधु जाल हमले" (honeypot attack) का शिकार बन गया, जिसमें उसे 750 डॉलर से अधिक की क्रिप्टो संपत्ति का नुकसान हुआ। नीचे Beosin सुरक्षा टीम द्वारा इस हमले का विश्लेषण और चोरी हुई धनराशि के प्रवाह का ट्रैकिंग दिया गया है।

अटैक प्रक्रिया विश्लेषण

Attack contract family

- कोऑर्डिनेटर कॉन्ट्रैक्ट (0xb84db016324e8f2bfdd8dd9c260338aee0a8df52): वर्तमान ब्लॉक की armed स्थिति को रिकॉर्ड करने और अंतिम चरण में फंड निकालने के लिए सबकॉन्ट्रैक्ट को लूप में कॉल करने के लिए जिम्मेदार है। - ट्रिगर कॉन्ट्रैक्ट (0x4de8c729a064ff6087cc84a4152969349e4feb98): एक ही ब्लॉक में झूठे ट्रेडिंग पेयर स्टेटस को सेट करने के लिए जिम्मेदार है, ताकि आर्बिट्रेज पथ निष्पादित होने जैसा दिखे। - सबकॉन्ट्रैक्ट / फॉकस टोकन कॉन्ट्रैक्ट: वास्तविक अधिकार प्राप्त करने के लिए सामान्य ERC-20 टोकन का नकली रूप धारण करता है। - हब कॉन्ट्रैक्ट: कुछ वास्तविक लाभ का भुगतान करने के लिए जिम्मेदार है, ताकि MEV Bot को लाभदायक लगे। - Ring V2 पेयर: झूठा Uniswap v2 ट्रेडिंग पेयर। - फॉकस मध्यवर्ती टोकन कॉन्ट्रैक्ट: fCAP, fUSDC जैसे मल्टी-हॉप आर्बिट्रेज पथ बनाने के लिए।

कुंजी हमला: अनुमति का धोखा

ऑन-चेन लेनदेन के विश्लेषण के माध्यम से, हमलावर ने कई बेस लेनदेन बनाए:

- बड़ी USDC: रोबोट ने लगभग 36.997120 USDC कमाए, लेकिन 20 USDC की अनुमति छोड़ दी। - बड़ी USDT: रोबोट ने लगभग 37.053440 USDT कमाए, लेकिन 20 USDT की अनुमति छोड़ दी। - बड़ी WETH: रोबोट ने लगभग 0.0179 WETH कमाए, लेकिन 16 WETH की अनुमति छोड़ दी। - छोटे ट्रेड्स सामान्य रूप से काम करते हैं, जहां अनुमति एक ही ट्रेड के भीतर खपत हो जाती है, ताकि संदेह कम हो।

छोटे लेनदेन में, रोबोट द्वारा वास्तविक टोकन की अनुमति देने के बाद, सब-कॉन्ट्रैक्ट तुरंत वास्तविक टोकन को हटा देता है, अनुमति उपयोग हो जाती है, और यह पूरी तरह से सामान्य दिखता है।

और बड़े लेन-देन में, सब-कॉन्ट्रैक्ट transferFrom को कॉल नहीं करता जिससे वास्तविक टोकन स्थानांतरित हों, बल्कि झूठे लेनदेन के माध्यम से झूठे टोकन का निर्माण करता है। रोबोट को लगता है कि उसने सामान्य swap प्री-स्टेप पूरा कर लिया है, लेकिन वास्तविक टोकन की अनुमति अभी भी बनी रहती है।

यही पूरे हमले का केंद्र है: छोटे लेनदेन सामान्य रूप से अधिकार का उपयोग करते हैं, जबकि बड़े लेनदेन अधिकार को बनाए रखते हैं।

अटैक प्रक्रिया

USDC के खिलाफ आक्रमण लेनदेन के उदाहरण के रूप में:

(1) हमलावर कोऑर्डिनेटर को कॉल करता है और वर्तमान ब्लॉक को armed सेट करता है। (2) हमलावर ट्रिगर को कॉल करता है और कई झूठे Ring V2 pair की स्थिति अपडेट करता है। (3) MEV Bot आर्बिट्रेज का अवसर पाता है और लेनदेन निष्पादित करता है।

MEV बॉट का ट्रेडिंग प्रक्रिया लगभग इस प्रकार है:

(1) MEV Bot कॉन्ट्रैक्ट ने किसी सब-कॉन्ट्रैक्ट को बड़ी मात्रा में USDC की अनुमति दी (2) MEV Bot ने सब-कॉन्ट्रैक्ट के wrapTo/wrap फ़ंक्शन को कॉल किया (3) सब-कॉन्ट्रैक्ट वर्तमान स्थिति armed होने के कारण, वास्तविक USDC का उपयोग नहीं करता, बल्कि pair पर झूठे टोकन मिंट करता है, जिससे USDC अनुमति बरकरार रहती है (4) MEV Bot झूठे pair के swap को जारी रखता है (5) दूसरी कूद वाला pair टोकन MEV Bot को भेजता है (6) hub कॉन्ट्रैक्ट MEV Bot को थोड़ी मात्रा में वास्तविक USDC लाभ भेजता है

चित्र

अनुमोदन उदाहरण

tx hash: 0x0121e07a916c06eea3e7daf11893f3f0b95b9e1684124545ae14c32aee6029bb

MEV बॉट द्वारा देखा गया परिणाम: एक सफल आर्बिट्रेज लेनदेन, जिससे वास्तविक USDC लाभ प्राप्त हुआ। लेकिन USDC की अनुमति उप-स्मार्ट कॉन्ट्रैक्ट द्वारा बनी रही। इस प्रक्रिया को USDC, USDT, WETH के लिए अलग-अलग दोहराया गया, जिससे अंततः बड़ी संख्या में अनुमतियाँ बन गईं।

आक्रमण ट्रेड हैश:

0x2be8704f5a59b69e0b71f64aefdb99eb0e8ae9fb3926147c581910d71bcf3e65

हमलावर ने कोऑर्डिनेटर कॉन्ट्रैक्ट का drain loop कॉल किया, जिसमें calldata में 66 सबकॉन्ट्रैक्ट एड्रेस और MEV Bot कॉन्ट्रैक्ट एड्रेस शामिल थे। जब तक MEV Bot कॉन्ट्रैक्ट ने पहले से सबकॉन्ट्रैक्ट को लिमिट अथॉराइजेशन छोड़ा हुआ था, सबकॉन्ट्रैक्ट सीधे संबंधित वास्तविक टोकन को हमलावर को ट्रांसफर कर सकता था।

Final result:

- 20 USDC के बड़े अधिकार पूरी तरह से खपत हो गए - 16 WETH के बड़े अधिकार पूरी तरह से खपत हो गए - USDT के लिए कुछ अधिकार अभी भी मौजूद हैं, लेकिन USDT का शेष बाकी नहीं है

Funds Flow Analysis

आक्रमण सफल होने के बाद, आक्रमणकारी पता (0x3e37f4A10d771Ba9dE44b6d301410b1BEdeA65d0) को $2.87M USDC, $2.04M USDT और 1,474 WETH प्राप्त हुए। इसके बाद आक्रमणकारी ने स्थिर मुद्राओं को ETH में बदलकर निम्नलिखित 4 पतों पर स्थानांतरित कर दिया:

- 0xe3Da36E4bd1a5738fa5D6Ef4F0e4dF40bDeB5f17 (लगभग 1,000 ETH) - 0x74Dc5b93586D248D5Aec64b3586736FF0A0D0e65 (1,001 ETH) - 0xd8C125efCBc99408eC8723E9BBd81d1E8D39D845 (1,001 ETH) - 0x71d4416A7A85e08a5Fe7227Ca3B44Fc639e94e97 (1,423 ETH)

जिसमें 0xe3Da3 ने 1,000 ETH को Tornado Cash में स्थानांतरित किया है, अन्य तीन पतों के ETH में कोई अतिरिक्त स्थानांतरण नहीं हुआ है। उनकी धन प्रवाह आरेख नीचे दर्शाया गया है:

चित्र

अंतिम शब्द

इस हमले ने एक अत्यंत उन्नत हमले की विधि को दर्शाया: हमलावर ने सीधे कॉन्ट्रैक्ट कोड पर हमला नहीं किया, बल्कि MEV बॉट के व्यावसायिक तर्क के आधार पर, संबंधित आर्बिट्रेज स्थितियाँ बनाकर, MEV बॉट को ऐसी अनुमति देने के लिए भ्रमित किया जिससे लगता है कि कोई समस्या नहीं है, और अंततः उसके संपत्ति का स्थानांतरण कर दिया। आर्बिट्रेज रोबोट और MEV बॉट के लिए, केवल प्रतिकृति लाभ पर निर्भर करके मार्ग की सुरक्षा का आकलन नहीं किया जाना चाहिए, खासकर जब आर्बिट्रेज मार्ग में अज्ञात कॉन्ट्रैक्ट, झूठे टोकन या कस्टम wrapper हों, तो सावधानी बरतनी चाहिए और लेनदेन के बाद allowance में परिवर्तन के लिए अनिवार्य जाँच करने का विचार किया जाना चाहिए।

देखें मूल पाठ

डिस्क्लेमर: इस पेज पर दी गई जानकारी थर्ड पार्टीज़ से प्राप्त की गई हो सकती है और यह जरूरी नहीं कि KuCoin के विचारों या राय को दर्शाती हो। यह सामग्री केवल सामान्य सूचनात्मक उद्देश्यों के लिए प्रदान की गई है, किसी भी प्रकार के प्रस्तुतीकरण या वारंटी के बिना, न ही इसे वित्तीय या निवेश सलाह के रूप में माना जाएगा। KuCoin किसी भी त्रुटि या चूक के लिए या इस जानकारी के इस्तेमाल से होने वाले किसी भी नतीजे के लिए उत्तरदायी नहीं होगा। डिजिटल संपत्तियों में निवेश जोखिम भरा हो सकता है। कृपया अपनी वित्तीय परिस्थितियों के आधार पर किसी प्रोडक्ट के जोखिमों और अपनी जोखिम सहनशीलता का सावधानीपूर्वक मूल्यांकन करें। अधिक जानकारी के लिए, कृपया हमारे उपयोग के नियम और जोखिम प्रकटीकरण देखें।