Ret2ret & Reo2pop
Reading time: 3 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
Ret2ret
इस तकनीक का मुख्य लक्ष्य ASLR को स्टैक में एक मौजूदा पॉइंटर का दुरुपयोग करके बायपास करने की कोशिश करना है।
बुनियादी रूप से, स्टैक ओवरफ्लो आमतौर पर स्ट्रिंग्स के कारण होते हैं, और स्ट्रिंग्स मेमोरी में अंत में एक नल बाइट के साथ समाप्त होती हैं। यह मौजूदा पॉइंटर द्वारा इंगित स्थान को कम करने की कोशिश करने की अनुमति देता है। इसलिए यदि स्टैक में 0xbfffffdd
था, तो यह ओवरफ्लो इसे 0xbfffff00
में बदल सकता है (अंतिम शून्य बाइट को नोट करें)।
यदि वह पता हमारे शेलकोड की ओर इंगित करता है, तो ret
निर्देश में पते जोड़कर उस पते तक पहुंचना संभव है जब तक कि यह नहीं पहुंच जाता।
इसलिए हमला इस तरह होगा:
- NOP स्लेड
- शेलकोड
ret
के लिए पते के साथ EIP से स्टैक को ओवरराइट करें (RET स्लेड)- 0x00 जो स्ट्रिंग द्वारा स्टैक से एक पते को संशोधित करके NOP स्लेड की ओर इंगित करता है
इस लिंक का पालन करते हुए आप एक कमजोर बाइनरी का उदाहरण देख सकते हैं और इसमें एक्सप्लॉइट।
Ret2pop
यदि आप स्टैक में एक परफेक्ट पॉइंटर पा सकते हैं जिसे आप संशोधित नहीं करना चाहते (ret2ret
में हम अंतिम सबसे कम बाइट को 0x00
में बदलते हैं), तो आप वही ret2ret
हमला कर सकते हैं, लेकिन RET स्लेड की लंबाई को 1 से कम करना होगा (ताकि अंतिम 0x00
परफेक्ट पॉइंटर से ठीक पहले के डेटा को ओवरराइट करे), और RET स्लेड का अंतिम पता pop <reg>; ret
की ओर इंगित करना चाहिए।
इस तरह, परफेक्ट पॉइंटर से पहले का डेटा स्टैक से हटा दिया जाएगा (यह डेटा 0x00
द्वारा प्रभावित होता है) और अंतिम ret
बिना किसी परिवर्तन के स्टैक में परफेक्ट पते की ओर इंगित करेगा।
इस लिंक का पालन करते हुए आप एक कमजोर बाइनरी का उदाहरण देख सकते हैं और इसमें एक्सप्लॉइट।
References
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।