
Ein Werkzeug, das dir beim Schreiben von Binary Exploits hilft.
Ein Werkzeug, das dir beim Schreiben von Binary-Exploits hilft
rop-tool v2.4.2
Help you make binary exploits.
Usage: rop-tool <cmd> [OPTIONS]
Commands :
gadget Suche nach Gadgets
patch Patche die Binärdatei
info Zeige Informationen zur Binärdatei
heap Zeige Heap-Struktur an
disassemble Disassembliere die Binärdatei
search Suche in der Binärdatei
help Hilfe anzeigen
version Version anzeigen
Try "rop-tool help <cmd>" for more informations about a command.
Usage : rop-tool gadget [OPTIONS] [FILENAME]
OPTIONS:
--arch, -A Wähle eine Architektur (x86, x86-64, arm, arm64)
--all, -a Zeige alle Gadgets an (auch nicht eindeutige)
--depth, -d [d] Lege die Tiefe für die Gadget-Suche fest (Standard: 5)
--flavor, -f [f] Wähle einen Syntaxstil (att oder intel)
--no-filter, -F Keine Filter auf Gadgets anwenden
--help, -h Diese Hilfemeldung anzeigen
--no-color, -N Ausgabe nicht einfärben
Usage : rop-tool search [OPTIONS] [FILENAME]
OPTIONS:
--all-string, -a [n] Suche alle druckbaren Zeichenketten mit mindestens [n] Zeichen. (Standard: 6)
--byte, -b [b] Suche das Byte [b] in der Binärdatei
--dword, -d [d] Suche das DWORD [d] in der Binärdatei
--help, -h Diese Hilfemeldung anzeigen
--no-color, -N Ausgabe nicht einfärben
--qword, -q [q] Suche das QWORD [q] in der Binärdatei
--raw, -r Datei im Rohmodus öffnen (kein Dateiformat berücksichtigen)
--split-string, -s [s] Suche eine "gesplittete" Zeichenkette im Speicher (nicht zusammenhängend)
--string, -S [s] Suche eine Zeichenkette (Byte-Sequenz) in der Binärdatei
--word, -w [w] Suche das WORD [w] in der Binärdatei
Usage : rop-tool patch [OPTIONS] [FILENAME]
OPTIONS:
--address, -a [a] Wähle eine Adresse zum Patchen
--bytes, -b [b] Eine Byte-Sequenz (z.B. "\xaa\xbb\xcc") zum Schreiben
--filename, -f [f] Gib den Dateinamen an
--help, -h Diese Hilfemeldung anzeigen
--offset, -o [o] Wähle einen Offset zum Patchen (ab Dateianfang)
--output, -O [o] In eine andere Datei schreiben
--raw, -r Datei im Rohmodus öffnen
Usage : rop-tool info [OPTIONS] [FILENAME]
OPTIONS:
--all, -a Alle Informationen anzeigen
--segments, -l Segmente anzeigen
--sections, -s Abschnitte anzeigen
--syms, -S Symbole anzeigen
--filename, -f [f] Gib den Dateinamen an
--help, -h Diese Hilfemeldung anzeigen
--no-color, -N Farben deaktivieren
Usage : rop-tool dis [OPTIONS] [FILENAME]
OPTIONS:
--help, -h Diese Hilfemeldung anzeigen
--no-color, -N Ausgabe nicht einfärben
--address, -a <a> Beginne die Disassemblierung ab Adresse <a>
--offset, -o <o> Beginne die Disassemblierung ab Offset <o>
--sym, -s <s> Symbol disassemblieren
--len, -l <l> Nur <l> Bytes disassemblieren
--arch, -A <a> Wähle Architektur (x86, x86-64, arm, arm64)
--flavor, -f <f> Syntaxstil ändern (intel, att)
Usage : rop-tool heap [OPTIONS] [COMMAND]
OPTIONS:
--calloc, -C Verfolge calloc-Aufrufe
--free, -F Verfolge free-Aufrufe
--realloc, -R Verfolge realloc-Aufrufe
--malloc, -M Verfolge malloc-Aufrufe
--dumpdata, -d Daten des Chunks ausgeben
--output, -O Ausgabe in eine Datei
--help, -h Diese Hilfemeldung anzeigen
--tmp, -t <d> Gib das beschreibbare Verzeichnis zum Auslagern der Bibliothek an (Standard: /tmp/)
--no-color, -N Ausgabe nicht einfärben
Kurze Erläuterungen zur Ausgabe des Heap-Kommandos
Jede Zeile entspricht einem malloc-Chunk, und der Heap wird nach jeder Ausführung von Heap-Funktionen (free, malloc, realloc, calloc) ausgegeben.
addr: die tatsächliche Adresse des malloc-Chunks
usr_addr: die Adresse, die von malloc-Funktionen an den Benutzer zurückgegeben wird
size: die Größe des malloc-Chunks
flags: P steht für PREV_INUSE, M für IS_MAPED und A für NON_MAIN_ARENA
Stringsuche, Gadget-Suche, Patchen, Info, Heap-Visualisierung, Disassemblierung
Farbige Ausgabe
Intel- und AT&T-Syntax
Unterstützung der Binärformate ELF, PE und MACH-O
Unterstützung von Big- und Little-Endian
Unterstützung der Architekturen x86, x86_64, ARM, ARM64, MIPS, MIPS64
Einfache Gadget-Suche
rop-tool gadget ./program
Alle Gadgets mit AT&T-Syntax anzeigen
rop-tool gadget ./program -f att -a
Gadgets in einer RAW-x86-Datei suchen
rop-tool gadget ./program -A x86
Nach einer "gesplitteten" Zeichenkette in der Binärdatei suchen
rop-tool search ./program -s "/bin/sh"
Alle Zeichenketten in der Binärdatei suchen
rop-tool search ./program -a
Binärdatei an Offset 0x1000 mit "\xaa\xbb\xcc\xdd" patchen und als "patched" speichern:
rop-tool patch ./program -o 0x1000 -b "\xaa\xbb\xcc\xdd" -O patched
Heap-Allokation des /bin/ls-Befehls visualisieren:
rop-tool heap /bin/ls
0x100 Bytes ab Adresse 0x08048452 disassemblieren
rop-tool dis /bin/ls -l 0x100 -a 0x08048452
rop-tool gadget /bin/ls

rop-tool search /bin/ls -a

rop-tool search /bin/ls -s "/bin/sh\x00"

rop-tool heap ./a.out

rop-tool dis ./bin # Viele Formate

git clone https://github.com/t00sh/rop-tool.git
cd rop-tool
sh scripts/set_env.sh
make
Tosh (tosh at t0x0sh . org)