hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/arbitrary-write-2-exec/aws2exec-.dtors-and-.fini_array.md

7.3 KiB

AWS2Exec - .dtors और .fini_array

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

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

.dtors

{% hint style="danger" %} आजकल किसी भी बाइनरी में .dtors सेक्शन पाना बहुत अजीब है। {% endhint %}

डिस्ट्रक्टर्स वे फ़ंक्शन हैं जो प्रोग्राम समाप्त होने से पहले चलाए जाते हैं (जब main फ़ंक्शन वापस लौटता है)।
इन फ़ंक्शनों के पते बाइनरी के .dtors सेक्शन में संग्रहित होते हैं और इसलिए, यदि आप एक शैलकोड के पते को __DTOR_END__ में लिखने में सफल होते हैं, तो वह प्रोग्राम समाप्त होने से पहले चलाया जाएगा

इस सेक्शन का पता लगाएं:

objdump -s -j .dtors /exec
rabin -s /exec | grep “__DTOR”

सामान्यतः आपको DTOR मार्कर मानों के बीच में पाएंगे ffffffff और 00000000 के मानों के बीच। तो अगर आप सिर्फ उन मानों को देखते हैं, तो इसका मतलब है कि वहाँ कोई फ़ंक्शन रजिस्टर नहीं है। इसलिए 00000000 को ओवरराइट करें और उसे शेलकोड के पते के साथ बदलें ताकि इसे निष्पादित किया जा सके।

{% hint style="warning" %} बिल्कुल, पहले आपको शेलकोड को संग्रहित करने के लिए एक स्थान ढूंढना होगा ताकि आप बाद में इसे बुला सकें। {% endhint %}

.fini_array

मूल रूप से यह एक संरचना है जिसमें फ़ंक्शन होंगे जो प्रोग्राम समाप्त होने से पहले कॉल किए जाएंगे, जैसे .dtors। यह दिलचस्प है अगर आप अपने शेलकोड को बस एक पते पर जाकर बुला सकते हैं, या उन मामलों में जहाँ आपको main पर वापस जाने की आवश्यकता होती है ताकि आप दूसरी बार सुरक्षा दोष का शोध कर सकें।

objdump -s -j .fini_array ./greeting

./greeting:     file format elf32-i386

Contents of section .fini_array:
8049934 a0850408

#Put your address in 0x8049934

ध्यान दें कि यह एक अनंत लूप नहीं बनाएगा क्योंकि जब आप मुख्य फ़ंक्शन में वापस जाएंगे तो कैनेरी को ध्यान जाएगा, स्टैक का अंत क्षतिग्रस्त हो सकता है और फ़ंक्शन को फिर से नहीं बुलाया जाएगा। इसलिए इसके साथ आपको वल्न का एक अधिक निष्पादन होगा।

{% hint style="danger" %} ध्यान दें कि पूर्ण Relro के साथ, धारा .fini_array को केवल-पठनीय बनाया जाता है। {% endhint %}

जीरो से हीरो तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert)!

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