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
Outils/GitHubGitHub/boyan-milanov/ropium
Frameworks d'ExploitationRétro-ingénierieShellcodeDéveloppement de Charges UtilesExploitation de Binaires
GitHubboyan-milanov/ropium

ropium

Constructeur automatisé de chaînes ROP qui extrait et analyse les gadgets à partir de binaires en utilisant des requêtes sémantiques, prenant en charge les architectures X86/X64 avec une API Python et une CLI.

Voir le dépôt
40245il y a 4 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




À propos

ROPium (ex-ROPGenerator) est une bibliothèque/outil qui facilite les exploits ROP. Il extrait et analyse automatiquement les gadgets des binaires et vous permet de trouver des chaînes ROP avec des requêtes sémantiques. ROPium prend en charge les architectures X86 et X64, bientôt étendue à ARM.

Fonctionnalités clés :

  • Sans effort : ROPium fonctionne prêt à l'emploi avec une interface en ligne de commande fluide
  • API Python : Il est facile d'intégrer ROPium dans un script grâce à son API Python
  • Chaînage automatique : ROPium combine automatiquement les gadgets pour créer des chaînes ROP complexes
  • Fonctionnalités avancées : ROPium prend en charge les appels de fonction pour différentes ABI, les appels système, ...
  • Requêtes sémantiques : Les requêtes ROPium sont rapides et pratiques à écrire : rax=rbx+8, [rdi+0x20]=rax, rsi=[rbx+16], 0x08040212(1, 2, rax), [0xdeadbeaf] = "/bin/sh\x00", sys_execve(0xdeadbeef, 0, 0), sys_0x1(0), ...

Contenu

  • À propos
  • Installation
  • Pour commencer
    • Outil CLI
    • API Python
  • Docker
  • Contact
  • Licence
  • Remerciements spéciaux

Installation

Installez d'abord le framework de désassemblage Capstone :

root@kitploit:~
  sudo apt-get install libcapstone-dev

Vous avez également besoin de la dernière version de ROPgadget :

root@kitploit:~
  git clone https://github.com/JonathanSalwan/ROPgadget && cd ROPgadget
  python setup.py install --user 

Pour utiliser l'outil CLI, installez prompt_toolkit :

root@kitploit:~
  pip3 install prompt_toolkit

Enfin, installez ROPium :

root@kitploit:~
  git clone https://github.com/Boyan-MILANOV/ropium && cd ropium
  make
  make test
  sudo make install 

Pour commencer

Outil CLI

Grâce à une interface en ligne de commande, vous pouvez utiliser ROPium de manière interactive pour construire rapidement des chaînes ROP :

API Python

Avez-vous besoin d'intégrer des chaînes ROP directement dans vos scripts ? Bonne nouvelle, ROPium dispose d'une API Python !

Chargement d'un binaire et recherche de chaînes ROP :

root@kitploit:~
from ropium import *
rop = ROPium(ARCH.X64)
rop.load('/lib/x86_64-linux-gnu/libc-2.27.so')

chain = rop.compile('rbx = [rax + 0x20]')

Export d'une chaîne ROP dans différents formats :

root@kitploit:~
>>> print( chain.dump() )

0x000000000009a851 (sub rax, 0x10; ret)
0x0000000000130018 (mov rax, qword ptr [rax + 0x30]; ret)
0x0000000000052240 (push rax; pop rbx; ret)

>>> print(chain.dump('python'))

from struct import pack
off = 0x0
p = ''
p += pack('<Q', 0x000000000009a851+off) # sub rax, 0x10; ret
p += pack('<Q', 0x0000000000130018+off) # mov rax, qword ptr [rax + 0x30]; ret
p += pack('<Q', 0x0000000000052240+off) # push rax; pop rbx; ret

>>> print(chain.dump('raw'))

b'Q\xa8\t\x00\x00\x00\x00\x00\x18\x00\x13\x00\x00\x00\x00\x00@"\x05\x00\x00\x00\x00\x00'

Définir des contraintes sur les chaînes ROP :

root@kitploit:~
# Bytes that should not appear in the ropchain
rop.bad_bytes = [0x00, 0x0a, 0x0b]

# Register that should not be clobbered by the ropchain
rop.keep_regs = ['rsi', 'rdx']

# Enable/Forbid ropchain to dereference registers that might hold invalid addresses
# Safe mode is 'True' by default
rop.safe_mem = False

# Specify which ABI you want to use when calling functions
rop.abi = ABI.X86_CDECL

# Specify which system to target when doing syscalls
rop.os = OS.LINUX

Docker

Si nécessaire, vous pouvez exécuter ROPium dans un conteneur Docker. Le conteneur peut être généré à partir du Dockerfile comme suit :

root@kitploit:~
# Create your docker image (this will take time!)
docker build . --tag ropium

# Run the image in interactive mode, bind mounting the file to analyze
docker run --rm -it -v /FULL/HOST/PATH/FILE:/tmp/FILE:ro ropium

(ropium)> load -a X86 /tmp/FILE

L'image actuelle fait environ 200 Mo et est basée sur Debian Stretch avec Python 3.7.3 installé.

Contact

Boyan MILANOV - boyan.milanov (at) hotmail (dot) fr

Licence

ROPium est fourni sous licence MIT.

Remerciements spéciaux

Contributeurs :

  • Support du conteneur Docker : migounette, clslgrnc

ROPium utilise les projets suivants :

  • capstone : Framework de désassemblage
  • ROPgadget : Extracteur de gadgets
  • prompt-toolkit : Bibliothèque d'interface CLI Python
Télécharger l’outil