One Gadget

Reading time: 3 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Basic Information

One Gadget επιτρέπει την απόκτηση ενός shell αντί να χρησιμοποιήσετε system και "/bin/sh". One Gadget θα βρει μέσα στη βιβλιοθήκη libc κάποιον τρόπο για να αποκτήσει ένα shell (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

Το github repo αναφέρει ότι υποστηρίζεται το ARM64 από το εργαλείο, αλλά όταν το εκτελείτε στο libc ενός Kali 2023.3 δεν βρίσκει κανένα gadget.

Angry Gadget

Από το github repo: Εμπνευσμένο από το OneGadget αυτό το εργαλείο είναι γραμμένο σε python και χρησιμοποιεί angr για να δοκιμάσει περιορισμούς για gadgets που εκτελούν execve('/bin/sh', NULL, NULL)
Αν έχετε εξαντλήσει τα gadgets για να δοκιμάσετε από το OneGadget, το Angry Gadget προσφέρει πολύ περισσότερα με περίπλοκους περιορισμούς για να δοκιμάσετε!

bash
pip install angry_gadget

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

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks