One Gadget
Βασικές Πληροφορίες
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 αλυσίδες καθώς χρειάζεται μόνο να καλέσετε μια διεύθυνση (και να εκπληρώσετε τις απαιτήσεις).
ARM64
Το αποθετήριο στο github αναφέρει ότι υποστηρίζει το ARM64 από το εργαλείο, αλλά όταν το εκτελέσετε στην libc
ενός Kali 2023.3 δεν βρίσκει κανένα gadget.
Angry Gadget
Από το αποθετήριο στο github: Εμπνευσμένο από το OneGadget αυτό το εργαλείο είναι γραμμένο σε python και χρησιμοποιεί το angr για να ελέγξει τον περιορισμό για gadgets που εκτελούν execve('/bin/sh', NULL, NULL)
Αν έχετε εξαντλήσει τα gadgets που θέλετε να δοκιμάσετε από το One Gadget, το Angry Gadget προσφέρει πολλά περισσότερα με πιο περίπλοκους περιορισμούς για δοκιμή!
Last updated