House of Rabbit
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
तेज बिन fd पॉइंटर या आकार को संशोधित करने की क्षमता: इसका मतलब है कि आप तेज बिन में एक चंक के आगे के पॉइंटर या उसके आकार को बदल सकते हैं।
malloc_consolidate
को ट्रिगर करने की क्षमता: यह एक बड़े चंक को आवंटित करके या शीर्ष चंक को मर्ज करके किया जा सकता है, जो हीप को चंक्स को समेकित करने के लिए मजबूर करता है।
ओवरलैपिंग चंक्स बनाना: एक चंक को दूसरे के साथ ओवरलैप करने के लिए, जिससे आगे की हीप हेरफेर की अनुमति मिल सके।
नकली चंक्स बनाना: आवंटक को एक नकली चंक को हीप संचालन के दौरान एक वैध चंक के रूप में मानने के लिए धोखा देना।
Objective: Create an overlapping chunk by manipulating the size of a fastbin chunk.
Step 1: Allocate Chunks
हम 0x40 बाइट्स के दो टुकड़े आवंटित करते हैं। इन टुकड़ों को मुक्त करने के बाद फास्ट बिन सूची में रखा जाएगा।
चरण 2: टुकड़े मुक्त करें
हम दोनों चंक को फ्री करते हैं, उन्हें फास्टबिन सूची में जोड़ते हैं।
Step 3: Modify Chunk Size
हम chunk1
के आकार मेटाडेटा को 0xa1 में बदलते हैं। यह संकुचन के दौरान आवंटक को धोखा देने के लिए एक महत्वपूर्ण कदम है।
Step 4: Trigger malloc_consolidate
Allocating a large chunk triggers the malloc_consolidate
function, merging small chunks in the fast bin. The manipulated size of chunk1
causes it to overlap with chunk2
.
After consolidation, chunk1
overlaps with chunk2
, allowing for further exploitation.
fd
pointerObjective: Create a fake chunk by manipulating the fast bin fd
pointer.
Step 1: Allocate Chunks
व्याख्या: हम दो टुकड़े आवंटित करते हैं, एक छोटा और एक बड़ा, ताकि नकली टुकड़े के लिए हीप सेट किया जा सके।
चरण 2: नकली टुकड़ा बनाएं
हम chunk2
में नकली चंक मेटाडेटा लिखते हैं ताकि छोटे चंक्स का अनुकरण किया जा सके।
चरण 3: chunk1
को मुक्त करें
व्याख्या: हम chunk1
को मुक्त करते हैं, इसे फास्टबिन सूची में जोड़ते हैं।
चरण 4: chunk1
का fd
संशोधित करें
व्याख्या: हम chunk1
के फॉरवर्ड पॉइंटर (fd
) को हमारे फेक चंक की ओर इंगित करने के लिए बदलते हैं जो chunk2
के अंदर है।
चरण 5: malloc_consolidate
को ट्रिगर करें
Allocating a large chunk again triggers malloc_consolidate
, which processes the fake chunk.
The fake chunk becomes part of the fastbin list, making it a legitimate chunk for further exploitation.
The House of Rabbit technique involves either modifying the size of a fast bin chunk to create overlapping chunks or manipulating the fd
pointer to create fake chunks. This allows attackers to forge legitimate chunks in the heap, enabling various forms of exploitation. Understanding and practicing these steps will enhance your heap exploitation skills.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)