
ROP ROCKET एक उन्नत कोड-पुन: उपयोग आक्रमण ढांचा है, जिसमें व्यापक ROP श्रृंखला निर्माण क्षमताएं हैं, जिसमें नए विंडोज सिस्कॉल हमला, एक नया हेवन्स गेट, और "शेल्कोडलेस" ROP शामिल हैं। यह ढांचा हमले की सतह का विस्तार करने में मदद के लिए एम्यूलेशन और अस्पष्टीकरण का उपयोग करता है।
यह नया, उन्नत ROP ढांचा DEF CON 31 में पहली बार प्रस्तुत किया गया, जिसमें कुछ अभूतपूर्व क्षमताएँ हैं। ROCKET कई प्रकार की चेन उत्पन्न करता है, और यह नए पैटर्न या तकनीक प्रदान करता है।
कृपया ध्यान दें कि यह अभी भी विकासशील है, जिसमें कुछ अद्यतन और उन्नत क्षमताएँ जोड़ी जानी हैं। अपडेट नियमित होने चाहिए। यदि आपको कोई समस्या आती है, तो कृपया उन्हें issues में डालें या मुझे ईमेल करें, और मैं उन्हें हल कर दूंगा। अतिरिक्त, कुछ प्रकार के गैजेट उत्पन्न करने के वैकल्पिक तरीके भी जोड़े जाएंगे।
वर्तमान में नई क्षमताओं के नियमित रूप से जुड़ने के साथ कार्य जारी है। कृपया नियमित आधार पर पुनः जाँच करें।

ROP ROCKET बहुत शक्तिशाली है जिसमें कुछ अनूठी क्षमताएँ हैं, जिनमें निम्नलिखित शामिल हैं:
अगस्त 2025: ROP ROCKET में एक ASLR बायपास मिनी-टूल है, जो 10 अगस्त, 2025 को DEFCON पर जारी किया गया, जो 64-बिट, उच्च एंट्रॉपी ASLR के लिए नौ ASLR बायपास उत्पन्न करेगा।


इसे स्थानीय पैकेज के रूप में स्थापित किया जाना चाहिए। एक setup.py फ़ाइल है। ऐसा करने के लिए, बस निर्देशिका पर जाएं और निम्न कमांड दर्ज करें:
py -m pip install -e ./ आपकी Python स्थापना के आधार पर, आपको इसे थोड़ा भिन्न करने की आवश्यकता हो सकती है। यदि आप स्थापित पैकेज देखते हैं, तो आपको ROP-ROCKET दिखाई देना चाहिए: py -m pip list यह माना जाता है कि सभी आवश्यक निर्भरताएँ शामिल हैं, लेकिन यदि आपको कोई समस्या आती है - इस रिलीज़ की नवीनता के कारण - बस एक issue खोलें, और हम इसे देखेंगे।
बस इसे कमांड लाइन से चलाएँ:py rop2.py rop_tester_syscall.exe एक पूरी तरह से शोषणीय rop_tester_syscall.exe एक zip फ़ाइल के रूप में भी शामिल है। इसे यह सुनिश्चित करने में मदद करने के लिए विकसित किया गया था कि सभी गैजेट मिल रहे हैं और छूटे नहीं।
यह उपकरण बहुत पुराने JOP ROCKET से प्रेरित था, जिसे मैंने अपने Ph.D. शोध प्रबंध के भाग के रूप में लिखा और 2019 में DEF CON 27 पर जारी किया। इसने JOP पर बहुत अधिक विकास और कई नई JOP क्षमताओं को जन्म दिया, साथ ही विभिन्न पत्रों में JOP की यांत्रिकी और उपयोग पर व्यापक दस्तावेज़ीकरण प्रदान किया। वह उपकरण इस समय थोड़ा पुराना है - यह Python की एक पुरानी शैली है। इस नए शोध के साथ, इस प्रेरणा का एक हिस्सा ROP के क्षेत्र में कुछ नवीन और अलग करने का प्रयास करना है। हमने अब तक उस आदेश को पूरा किया है। तो एक तरह से यह उपकरण एक JOP उपकरण से प्रेरित है, जो हमें शायद बॉक्स के बाहर सोचने और सामान्य से कम पारंपरिक तरीकों से ROP के साथ काम करने की अनुमति देता है। ROP ROCKET में कोई JOP क्षमताएँ नहीं हैं - यह पूरी तरह से ROP के लिए समर्पित है। एकमात्र पूरी तरह से समर्पित JOP उपकरण JOP ROCKET है, क्योंकि बाकी सब कुछ JOP पर भविष्य के काम के लिए एक प्लेसहोल्डर है। वैसे, मैं इस ऐतिहासिक जानकारी को स्पष्ट करना चाहता था, ताकि नामों की समानता किसी को भ्रमित न करे, क्योंकि ये दो बहुत अलग और असंबंधित उपकरण हैं।

ROCKET ने एक Heaven's Gate x86-to-x64 हमला उत्पन्न किया है, इसे स्क्रीन पर प्रिंट करके सहेज रहा है।

ROCKET ने Win 10/11 के लिए NtProtectVirtualMemory के लिए Windows Syscall उत्पन्न किया है, इसे स्क्रीन पर प्रिंट करके सहेज रहा है।

अपनी आंतरिक अनुकरण क्षमताओं के कारण, ROCKET गैजेट के कई असामान्य संयोजनों पर विचार कर सकता है। उपरोक्त का उद्देश्य एक स्टैक पॉइंटर (ESP) को कैप्चर करना और इसे ECX में ले जाना है। यह ऐसा करने के वैकल्पिक साधन खोजने में सक्षम है, न कि केवल एकल ROP गैजेट का उपयोग करना, जो उपलब्ध नहीं हो सकता है। पहले यह esp को edi में ले जाता है; फिर edi को ebx में ले जाया जाता है; और फिर ebx को esi में ले जाया जाता है। ECX को इंटीजर ओवरफ्लो के माध्यम से शून्य पर सेट किया जाता है, और फिर esi का मान (जिसमें हमारा स्टैक पॉइंटर है) ecx में जोड़ा जाता है। परिणाम यह है कि स्टैक पॉइंटर ecx में है। एक समतुल्य, छोटा गैजेट mov ecx, esp # ret होगा - हालांकि ऐसा हमेशा संभव नहीं है। ROCKET अतिरिक्त pop निर्देशों को भी सही ढंग से संभालता है, सही फिलर उत्पन्न करता है। ध्यान दें कि ROP ROCKET उन रजिस्टरों पर सावधानीपूर्वक विचार करता है जिन्हें संरक्षित किया जाना चाहिए ("बहिष्कृत रजिस्टर"), जो गैजेट से गैजेट में बदल सकते हैं। उपरोक्त उदाहरण में, कोई भी रजिस्टर "क्लोबर्ड" नहीं है जिसे हम संरक्षित करने का प्रयास कर रहे हैं।

ROCKET आपके गैजेट को कैप्चर करने के लिए कई विकल्प प्रदान करता है। डिफ़ॉल्ट को निश्चित रूप से config.cfg फ़ाइल में सेट किया जा सकता है। यहां उपयोगकर्ता केवल अधिकतम 0xa (15) बाइट्स वाले मेमोरी चंक की जांच करना चाहता है।
