One Gadget

Unterstützen Sie HackTricks

Grundlegende Informationen

One Gadget ermöglicht das Erhalten einer Shell anstelle der Verwendung von system und "/bin/sh". One Gadget wird innerhalb der libc-Bibliothek einen Weg finden, um eine Shell (execve("/bin/sh")) mit nur einer Adresse zu erhalten. Normalerweise gibt es jedoch einige Einschränkungen, die häufigsten und einfach zu vermeidenden sind wie [rsp+0x30] == NULL. Da Sie die Werte im RSP kontrollieren, müssen Sie nur einige weitere NULL-Werte senden, damit die Einschränkung vermieden wird.

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

Um die Adresse anzugeben, die durch One Gadget angezeigt wird, müssen Sie die Basisadresse hinzufügen, an der libc geladen ist.

One Gadget ist eine große Hilfe für Arbitrary Write 2 Exec-Techniken und kann ROP-Ketten vereinfachen, da Sie nur eine Adresse aufrufen müssen (und die Anforderungen erfüllen).

ARM64

Im Github-Repo wird erwähnt, dass ARM64 von dem Tool unterstützt wird, aber beim Ausführen in der libc von Kali 2023.3 findet es keine Gadgets.

Angry Gadget

Vom Github-Repo: Inspiriert von OneGadget ist dieses Tool in Python geschrieben und verwendet angr, um Einschränkungen für Gadgets zu testen, die execve('/bin/sh', NULL, NULL) ausführen. Wenn Ihnen die Gadgets von OneGadget ausgegangen sind, bietet Angry Gadget viele weitere mit komplizierten Einschränkungen zum Ausprobieren!

pip install angry_gadget

angry_gadget.py examples/libc6_2.23-0ubuntu10_amd64.so
Unterstützen Sie HackTricks

Last updated