House of Einherjar

AWS हैकिंग सीखें और प्रैक्टिस करें: HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE) GCP हैकिंग सीखें और प्रैक्टिस करें: HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)

हैकट्रिक्स का समर्थन करें

मूल जानकारी

कोड

लक्ष्य

  • लक्ष्य है कि लगभग किसी भी विशिष्ट पते पर मेमोरी का आवंटन करें।

आवश्यकताएं

  • जब हम एक चंक आवंटित करना चाहते हैं तो एक नकली चंक बनाएं:

  • स्यानिटी चेक्स को छलकरने के लिए पॉइंटर को खुद पर पॉइंट करें

  • एक बाइट ओवरफ्लो एक नल बाइट के साथ एक चंक से अगले चंक तक मॉडिफाई करने के लिए PREV_INUSE फ्लैग।

  • ऑफ-बाई-नल दुरुपयोग किए गए चंक के prev_size में इसके और नकली चंक के बीच का अंतर दर्शाएं

  • नकली चंक का आकार भी स्यानिटी चेक्स को छलकरने के लिए सेट किया जाना चाहिए

  • इन चंक्स को निर्माण करने के लिए आपको एक हीप लीक की आवश्यकता होगी।

हमला

  • हमलावर द्वारा नियंत्रित एक चंक के अंदर एक नकली चंक बनाया जाता है जिसमें fd और bk द्वारा मूल चंक की ओर पॉइंट किया जाता है ताकि सुरक्षा उपायों को छलना हो

  • 2 अन्य चंक (B और C) आवंटित किए जाते हैं

  • B में ऑफ-बाई-वन का दुरुपयोग करके prev in use बिट को साफ किया जाता है और prev_size डेटा को ओवरराइट किया जाता है जिसमें C चंक को आवंटित किया गया है, तकनीकी चंक A के बीच का अंतर

  • यह prev_size और नकली चंक A में आकार को छलने के लिए समान होना चाहिए।

  • फिर, tcache भरा जाता है

  • फिर, C को मुक्त किया जाता है ताकि यह नकली चंक A के साथ समेकित हो जाए

  • फिर, एक नया चंक D बनाया जाता है जो नकली A चंक में शुरू होगा और B चंक को कवर करेगा

  • यहाँ आइनहेर्जर का घर समाप्त होता है

  • इसे एक तेज बिन हमले या Tcache poisoning के साथ जारी रखा जा सकता है:

  • B को मुक्त करें ताकि इसे तेज बिन / Tcache में जोड़ा जा सके

  • B का fd ओवरराइट कर दें ताकि यह लक्ष्य पते की ओर पॉइंट करे जो D चंक का दुरुपयोग कर रहा है (क्योंकि इसमें B शामिल है)

  • फिर, 2 mallocs किए जाते हैं और दूसरा malloc लक्ष्य पते को आवंटित करने जा रहा है

संदर्भ और अन्य उदाहरण

  • पॉइंटर्स को मुक्त करने के बाद उन्हें नल किया नहीं गया है, इसलिए उनके डेटा तक पहुंचना अब भी संभव है। इसलिए एक चंक असंचित बिन में रखा जाता है और यह उसमें शामिल पॉइंटर्स को लीक करता है (libc लीक) और फिर एक नया हीप असंचित बिन पर रखा जाता है और यह उस पॉइंटर से एक हीप पता लीक करता है।

  • strtok में नल-बाइट ओवरफ्लो बग।

  • House of Einherjar का उपयोग ओवरलैपिंग चंक्स स्थिति प्राप्त करने और Tcache poisoning के साथ एक अर्बिट्रे राइट प्राइमिटिव प्राप्त करने के लिए किया जाता है।

AWS हैकिंग सीखें और प्रैक्टिस करें: HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE) GCP हैकिंग सीखें और प्रैक्टिस करें: HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)

हैकट्रिक्स का समर्थन करें

Last updated