
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) बाइट्स वाले मेमोरी चंक की जांच करना चाहता है।

आप न केवल व्यक्तिगत ROP चेन प्रिंट कर सकते हैं, बल्कि पाए गए सभी गैजेट को श्रेणी के अनुसार व्यवस्थित करके प्रिंट कर सकते हैं, जैसे mov edx। सैकड़ों संभावनाएँ हैं। आप प्रति गैजेट पंक्तियों की संख्या बदलकर परिणामों को परिष्कृत भी कर सकते हैं।

परिणाम मुद्रित करते समय, गैजेट को बाहर करने के लिए विभिन्न प्रकार के फ़िल्टर लागू करने के कई विकल्प हैं, जैसे ASLR, CFG, Windows सिस्टम DLLs, या केवल सरल खराब बाइट्स। यह सब अत्यधिक अनुकूलन योग्य है।

कभी-कभी आपको किसी विशेष गैजेट को ऑब्स्क्यूर करने की आवश्यकता होती है जो अन्यथा अनुपलब्ध साबित हो सकता है, गैजेट पते में खराब बाइट्स के कारण। हमारे पास इसके लिए कई विकल्प हैं, और आप उपयोग किए गए रजिस्टरों या खराब बाइट्स के आधार पर भी बाहर कर सकते हैं।
यहां उपयोगकर्ता ने xor eax, edi # ret के लिए पते को रनटाइम पर गतिशील रूप से डीकोड करने के लिए ऑब्स्क्यूरेशन का उपयोग किया, जिसका वह काल्पनिक रूप से अन्यथा उपयोग नहीं कर सकता था। एक बार डीकोड होने के बाद, push r32 / ret इसे तुरंत निष्पादित करने का कारण बनता है। यह खराब बाइट्स के कारण अन्यथा अनुपलब्ध गैजेट का उपयोग करने का एक शानदार तरीका है। ROCKET इसे सेकंडों में पूरा करता है। इंटीजर ओवरफ्लो के साथ ऐसा करने की इसकी क्षमता लगभग गारंटीकृत है, बशर्ते खराब बाइट्स या उपलब्ध रजिस्टरों की कमी (अर्थात उपयोगकर्ता ने बहुत अधिक रजिस्टर बाहर कर दिए) से कोई समस्या न हो।
यह उपकरण डॉ. ब्रैमवेल ब्रिज़ेंडाइन द्वारा 2023 की शुरुआत में बनाया और लिखा गया था।
शिवा शशांक कुसुमा ने ROP ROCKET के लिए पैटर्न विकसित करने के लिए डॉ. ब्रैमवेल ब्रिज़ेंडाइन के लिए स्नातक छात्र के रूप में काम किया। उन्होंने अमूल्य कार्य किया है, और वे DEFCON और Black Hat Arsenal में सह-वक्ता रहे हैं। 2025 में, शिवा ने ROP ROCKET की प्रोग्रामिंग में भी योगदान देना शुरू किया।
09/18/2023 - विभिन्न संवर्द्धन; उस फ़ार जंप को लीक करने के विभिन्न तरीकों के लिए और समर्थन जो Windows syscall की ओर ले जाता है।
3/2024 - कुछ हद तक नियमित आधार पर कई महत्वपूर्ण अपडेट - कृपया यदि संभव हो तो सबसे वर्तमान प्रति रखने का प्रयास करें, यदि आप सक्रिय रूप से ROP ROCKET का उपयोग करने का इरादा रखते हैं। अलग-अलग परिवर्तन सूचीबद्ध नहीं किए जाएंगे। मामूली बदलाव और अपडेट जारी रहने की संभावना है। केवल प्रमुख नई सुविधाओं का वर्णन किया जाएगा। (कुछ मामूली नई सुविधाएँ पहले ही जोड़ी जा चुकी हैं।) Late March -April 3, 2024 - दक्षता में सुधार और वृद्धि के लिए अनुकरण में व्यापक अद्यतन; उत्पन्न किए जाने वाले व्यक्तिगत गैजेट के लिए कई और संभावित विकल्पों के लिए समर्थन; बग का सुधार; pushad के माध्यम से VirtualAlloc और VirtualProtect का नया रिलीज़। जबकि अन्य उपकरणों ने पहले VirtualProtect और VirtualAlloc के लिए समर्थन प्रदान किया है, यही कारण है कि हमने नहीं किया, अब हमें लगता है कि इन्हें शामिल नहीं करना लापरवाही होगी, खासकर जब इन्हें उपकरण की क्षमताओं द्वारा बढ़ाया जा सकता है। pushad के माध्यम से VirtualAlloc और VirtualProtect के लिए पूर्ण टेम्पलेट बनाए गए, जिनमें शेलकोड (कैलकुलेटर खोलना) भी शामिल है।
5/2024 - वास्तविक दुनिया के बायनेरिज़ के साथ क्या पाया जा सकता है, इसे बहुत विस्तारित करने के लिए Windows syscalls का बड़े पैमाने पर पुनर्गठन। FS रजिस्टर को लीक करने वाले लंबे, अवांछनीय गैजेट (SysWow64 में Windows syscalls करने के लिए आवश्यक, यानी 32-बिट) को भी स्वचालित तरीके से काम किया जा सकता है। कई अन्य मामूली संवर्द्धन।
6/28/2025 - बड़े पैमाने पर अपडेट, जिसमें ROP ROCKET में पहले शामिल नहीं किए गए 17 नए WinAPI के लिए समर्थन शामिल है। प्रारंभिक ओवरफ्लो राशि को परिभाषित करने की क्षमता जोड़ी गई - यह प्रासंगिक है क्योंकि यह अनुकरण करते समय स्ट्रिंग या पॉइंटर्स की गणना को प्रभावित कर सकता है।