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