Ret2ret & Reo2pop

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Ret2ret

इस तकनीक का मुख्य लक्ष्य ASLR को एक मौजूदा पॉइंटर का दुरुपयोग करके छलना है।

मूल रूप से, स्टैक ओवरफ्लो आम तौर पर स्ट्रिंग्स द्वारा होते हैं, और स्ट्रिंग्स के अंत में एक नल बाइट होता है मेमोरी में। यह एक मौजूदा पॉइंटर द्वारा पॉइंट किए गए स्थान को कम करने की कोशिश करने की अनुमति देता है। इसलिए यदि स्टैक में 0xbfffffdd था, तो यह ओवरफ्लो इसे 0xbfffff00 में बदल सकता है (अंतिम ज़ीरो बाइट का ध्यान दें)।

यदि वह पता हमारे शेलकोड को स्टैक में पॉइंट करता है, तो ret इंस्ट्रक्शन में पते जोड़कर इसे पहुंचाना संभव है जब तक यह पहुंच जाए।

इसलिए हमला इस प्रकार होगा:

  • NOP स्लेड

  • शेलकोड

  • स्टैक को EIP से ओवरराइट करें ret के पतों के साथ (RET स्लेड)

  • 0x00 स्ट्रिंग द्वारा जोड़ा गया, स्टैक से एक पते को संशोधित करके इसे NOP स्लेड पर पॉइंट करना

इस लिंक पर एक वंलरेबल बाइनरी का उदाहरण देख सकते हैं और इसमें एक्स्प्लॉइट देख सकते हैं।

Ret2pop

यदि आप स्टैक में एक उत्कृष्ट पॉइंटर खोज सकते हैं जिसे आप संशोधित नहीं करना चाहते (ret2ret में हमने अंतिम सबसे कम बाइट को 0x00 में बदल दिया), तो आप एक समान ret2ret हमला कर सकते हैं, लेकिन RET स्लेड की लंबाई को 1 से कम करना होगा (ताकि अंतिम 0x00 उत्कृष्ट पॉइंटर से पहले के डेटा को ओवरराइट करे), और RET स्लेड का अंतिम पता pop <reg>; ret को पॉइंट करना चाहिए। इस प्रकार, उत्कृष्ट पॉइंटर से पहले का डेटा स्टैक से हटा दिया जाएगा (यह डेटा 0x00 द्वारा प्रभावित होता है) और अंतिम ret उत्कृष्ट पते को किसी भी परिवर्तन के बिना स्टैक में पॉइंट करेगा।

इस लिंक पर एक वंलरेबल बाइनरी का उदाहरण देख सकते हैं और इसमें एक्स्प्लॉइट देख सकते हैं।

संदर्भ

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated