House of Einherjar
AWS हैकिंग सीखें और प्रैक्टिस करें: HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE) GCP हैकिंग सीखें और प्रैक्टिस करें: HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)
मूल जानकारी
कोड
या https://guyinatuxedo.github.io/42-house_of_einherjar/house_einherjar_exp/index.html#house-of-einherjar-explanation से एक और उदाहरण देखें (आपको tcache भरने की आवश्यकता हो सकती है)
लक्ष्य
लक्ष्य है कि लगभग किसी भी विशिष्ट पते पर मेमोरी का आवंटन करें।
आवश्यकताएं
जब हम एक चंक आवंटित करना चाहते हैं तो एक नकली चंक बनाएं:
स्यानिटी चेक्स को छलकरने के लिए पॉइंटर को खुद पर पॉइंट करें
एक बाइट ओवरफ्लो एक नल बाइट के साथ एक चंक से अगले चंक तक मॉडिफाई करने के लिए
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