One Gadget
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
One Gadget επιτρέπει την απόκτηση ενός shell αντί να χρησιμοποιήσετε system και "/bin/sh". One Gadget θα βρει μέσα στη βιβλιοθήκη libc κάποιον τρόπο για να αποκτήσει ένα shell (execve("/bin/sh")
) χρησιμοποιώντας μόνο μία διεύθυνση.
Ωστόσο, κανονικά υπάρχουν κάποιους περιορισμούς, οι πιο κοινοί και εύκολοι να αποφευχθούν είναι όπως [rsp+0x30] == NULL
Καθώς ελέγχετε τις τιμές μέσα στο RSP απλά πρέπει να στείλετε μερικές ακόμα NULL τιμές ώστε να αποφευχθεί ο περιορισμός.
Για τη διεύθυνση που υποδεικνύεται από το One Gadget πρέπει να προσθέσετε τη βασική διεύθυνση όπου φορτώνεται το libc
.
Το One Gadget είναι μια μεγάλη βοήθεια για τις τεχνικές Arbitrary Write 2 Exec και μπορεί να απλοποιήσει τις αλυσίδες ROP καθώς χρειάζεται μόνο να καλέσετε μία διεύθυνση (και να πληροίτε τις απαιτήσεις).
Το github repo αναφέρει ότι υποστηρίζεται το ARM64 από το εργαλείο, αλλά όταν το εκτελείτε στο libc ενός Kali 2023.3 δεν βρίσκει κανένα gadget.
Από το github repo: Εμπνευσμένο από το OneGadget αυτό το εργαλείο είναι γραμμένο σε python και χρησιμοποιεί angr για να δοκιμάσει περιορισμούς για gadgets που εκτελούν execve('/bin/sh', NULL, NULL)
Αν έχετε εξαντλήσει τα gadgets που μπορείτε να δοκιμάσετε από το OneGadget, το Angry Gadget προσφέρει πολύ περισσότερα με περίπλοκους περιορισμούς για να δοκιμάσετε!
Μάθετε & εξασκηθείτε στο Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)