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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Basic Information
One Gadget επιτρέπει την απόκτηση ενός shell αντί να χρησιμοποιήσετε system και "/bin/sh". One Gadget θα βρει μέσα στη βιβλιοθήκη libc κάποιον τρόπο για να αποκτήσει ένα shell (execve("/bin/sh")
) χρησιμοποιώντας μόνο μία διεύθυνση.
Ωστόσο, κανονικά υπάρχουν κάποιους περιορισμούς, οι πιο κοινοί και εύκολοι να αποφευχθούν είναι όπως [rsp+0x30] == NULL
Καθώς ελέγχετε τις τιμές μέσα στο RSP απλά πρέπει να στείλετε μερικές ακόμα NULL τιμές ώστε να αποφευχθεί ο περιορισμός.
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 προσφέρει πολύ περισσότερα με περίπλοκους περιορισμούς για να δοκιμάσετε!
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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.