hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/one-gadget.md

3.9 KiB
Raw Permalink Blame History

One Gadget

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

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.

{% hint style="success" %} One Gadget είναι μια μεγάλη βοήθεια για τις τεχνικές Arbitrary Write 2 Exec και μπορεί να απλοποιήσει τις αλυσίδες ROP καθώς χρειάζεται να καλέσετε μόνο μία διεύθυνση (και να εκπληρώσετε τις απαιτήσεις). {% endhint %}

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Υποστήριξη HackTricks
{% endhint %}