One Gadget

Reading time: 3 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

Basic Information

One Gadget आपको system और "/bin/sh" का उपयोग किए बिना एक शेल प्राप्त करने की अनुमति देता है। One Gadget libc पुस्तकालय के अंदर एक ऐसा तरीका खोजेगा जिससे आप केवल एक address का उपयोग करके शेल प्राप्त कर सकें (execve("/bin/sh"))।
हालांकि, सामान्यतः कुछ सीमाएँ होती हैं, सबसे सामान्य और आसानी से टालने योग्य सीमाएँ हैं जैसे कि [rsp+0x30] == NULL। चूंकि आप RSP के अंदर के मानों को नियंत्रित करते हैं, इसलिए आपको कुछ और NULL मान भेजने की आवश्यकता है ताकि यह सीमा टल सके।

python
ONE_GADGET = libc.address + 0x4526a
rop2 = base + p64(ONE_GADGET) + "\x00"*100

आपको One Gadget द्वारा निर्दिष्ट पते पर libc लोड होने का आधार पता जोड़ना होगा।

tip

One Gadget Arbitrary Write 2 Exec तकनीकों के लिए महान मदद है और यह ROP चेन को सरल बना सकता है क्योंकि आपको केवल एक पते को कॉल करने की आवश्यकता होती है (और आवश्यकताओं को पूरा करना होता है)।

ARM64

गिटहब रिपॉजिटरी में उल्लेख किया गया है कि ARM64 का समर्थन इस उपकरण द्वारा किया गया है, लेकिन जब इसे Kali 2023.3 के libc में चलाया जाता है तो यह कोई गैजेट नहीं ढूंढता

Angry Gadget

गिटहब रिपॉजिटरी से: OneGadget से प्रेरित, यह उपकरण पायथन में लिखा गया है और गैजेट्स के लिए execve('/bin/sh', NULL, NULL) को निष्पादित करने के लिए बाधाओं का परीक्षण करने के लिए angr का उपयोग करता है।
यदि आपने OneGadget से प्रयास करने के लिए गैजेट्स समाप्त कर दिए हैं, तो Angry Gadget जटिल बाधाओं के साथ और भी बहुत कुछ प्रदान करता है!

bash
pip install angry_gadget

angry_gadget.py examples/libc6_2.23-0ubuntu10_amd64.so

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें