WWW2Exec - atexit()

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

__atexit संरचनाएँ

आजकल इसे एक्सप्लॉइट करना बहुत अजीब है!

atexit() एक फ़ंक्शन है जिसमें अन्य फ़ंक्शनों को पैरामीटर के रूप में पास किया जाता है। ये फ़ंक्शन एक exit() को एक्सीक्यूट करने पर या मुख्य का वापसी करने पर एक्सीक्यूट होंगे। यदि आप किसी भी इन फ़ंक्शनों के पते को एक शैलकोड की ओर दिखाने के लिए संशोधित कर सकते हैं, तो आप प्रक्रिया का नियंत्रण प्राप्त करेंगे, लेकिन यह वर्तमान में अधिक जटिल है। वर्तमान में एक्सीक्यूट होने वाले फ़ंक्शनों के पते कई संरचनाओं के पीछे छिपे हुए हैं और अंत में जिन पतों की ओर यह इशारा करता है, वे फ़ंक्शनों के पतों नहीं हैं, बल्कि XOR और एक रैंडम कुंजी के साथ एन्क्रिप्टेड हैं। इसलिए वर्तमान में यह हमला वेक्टर कम उपयोगी है कम से कम x86 और x64_86 पर। एन्क्रिप्शन फ़ंक्शन PTR_MANGLE है। m68k, mips32, mips64, aarch64, arm, hppa... जैसी अन्य वास्तुकला इस एन्क्रिप्शन फ़ंक्शन को निष्पादित नहीं करती क्योंकि यह वही वापस करती है जैसा कि इसे इनपुट के रूप में प्राप्त किया गया। इसलिए इन वास्तुकलाओं पर यह वेक्टर हमले के लिए उपयुक्त हो सकते हैं।

इसका विस्तृत विवरण आप https://m101.github.io/binholic/2017/05/20/notes-on-abusing-exit-handlers.html में पा सकते हैं।

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated