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 που θέλετε να δοκιμάσετε από το OneGadget, το Angry Gadget προσφέρει πολλά περισσότερα με περίπλοκους περιορισμούς για δοκιμή!
Last updated