Large Bin Attack
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)
For more information about what is a large bin check this page:
Bins & Memory AllocationsIt's possible to find a great example in how2heap - large bin attack.
Basically here you can see how, in the latest "current" version of glibc (2.35), it's not checked: P->bk_nextsize
allowing to modify an arbitrary address with the value of a large bin chunk if certain conditions are met.
In that example you can find the following conditions:
एक बड़ा चंक आवंटित किया गया है
एक बड़ा चंक जो पहले वाले से छोटा है लेकिन उसी इंडेक्स में है, आवंटित किया गया है
इसे छोटा होना चाहिए ताकि यह बिन में पहले आ सके
(एक चंक बनाया गया है ताकि शीर्ष चंक के साथ विलय को रोका जा सके)
फिर, पहले बड़े चंक को मुक्त किया जाता है और इससे बड़ा एक नया चंक आवंटित किया जाता है -> Chunk1 बड़े बिन में जाता है
फिर, दूसरे बड़े चंक को मुक्त किया जाता है
अब, भेद्यता: हमलावर chunk1->bk_nextsize
को [target-0x20]
में संशोधित कर सकता है
फिर, चंक 2 से बड़ा एक चंक आवंटित किया जाता है, इसलिए चंक2 बड़े बिन में डाला जाता है जो chunk1->bk_nextsize->fd_nextsize
के पते को चंक2 के पते से ओवरराइट करता है
There are other potential scenarios, the thing is to add to the large bin a chunk that is smaller than a current X chunk in the bin, so it need to be inserted just before it in the bin, and we need to be able to modify X's bk_nextsize
as thats where the address of the smaller chunk will be written to.
This is the relevant code from malloc. Comments have been added to understand better how the address was overwritten:
यह libc के global_max_fast
वैश्विक चर को ओवरराइट करने के लिए उपयोग किया जा सकता है ताकि बड़े टुकड़ों के साथ एक तेज़ बिन हमले का शोषण किया जा सके।
आप इस हमले का एक और शानदार विवरण guyinatuxedo में पा सकते हैं।
उसी स्थिति में बड़े बिन हमले के बारे में how2heap में।
लिखने की प्राइमिटिव अधिक जटिल है, क्योंकि global_max_fast
यहाँ बेकार है।
शोषण को समाप्त करने के लिए FSOP की आवश्यकता है।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)