One Gadget
Informazioni di Base
One Gadget consente di ottenere una shell anziché 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, di solito 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 ulteriori valori NULL in modo che la restrizione venga evitata.
Per l'indirizzo indicato da One Gadget è necessario aggiungere l'indirizzo di base in cui è caricata la libc
.
One Gadget è di grande aiuto per le tecniche di scrittura arbitraria 2 esecuzioni e potrebbe semplificare le catene ROP poiché è sufficiente chiamare un solo indirizzo (e soddisfare i requisiti).
ARM64
Il repository di github menziona che ARM64 è supportato dallo strumento, ma quando viene eseguito nella libc di un Kali 2023.3 non trova alcun gadget.
Angry Gadget
Dal repository di github: Ispirato da OneGadget questo strumento è scritto in python e utilizza angr per testare i vincoli per i gadget che eseguono execve('/bin/sh', NULL, NULL)
Se hai esaurito i gadget da provare da OneGadget, Angry Gadget ne fornisce molti altri con vincoli complicati da provare!
Last updated