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

3.2 KiB

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 consente di ottenere una shell invece di utilizzare system e "/bin/sh". One Gadget troverà all'interno della libreria libc un modo per ottenere una shell (execve("/bin/sh")) utilizzando solo un indirizzo.
Tuttavia, normalmente ci sono alcune restrizioni, le più comuni e facili da evitare sono come [rsp+0x30] == NULL. Poiché controlli i valori all'interno del RSP, devi solo inviare alcuni valori NULL in più in modo che la restrizione venga evitata.

ONE_GADGET = libc.address + 0x4526a
rop2 = base + p64(ONE_GADGET) + "\x00"*100

Per l'indirizzo indicato da One Gadget è necessario aggiungere l'indirizzo base dove libc è caricato.

{% hint style="success" %} One Gadget è un grande aiuto per le tecniche Arbitrary Write 2 Exec e potrebbe semplificare le catene ROP poiché è necessario chiamare solo un indirizzo (e soddisfare i requisiti). {% endhint %}

{% hint style="success" %} Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}