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
rhabdomancer — Assistant de recherche de vulnérabilités qui localise les appels à des fonctions API potentiellement non sécurisées dans un fichier binaire. | Kitploit
Outils/GitHubGitHub/0xdea/rhabdomancer
Analyse StatiqueAnalyse des VulnérabilitésRétro-ingénierieAnalyse de Binaires
GitHub0xdea/rhabdomancer

rhabdomancer

Assistant de recherche de vulnérabilités qui localise les appels à des fonctions API potentiellement non sécurisées dans un fichier binaire.

Voir le dépôt
13115il y a 7 joursVé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
Site web

rhabdomancer

build doc

"La route des bugs exploitables est pavée de bugs inexploitables."

-- Mark Dowd

Rhabdomancer est un plugin IDA headless extrêmement rapide qui localise les appels à des fonctions d'API potentiellement vulnérables dans un fichier binaire. Les auditeurs peuvent remonter la trace à partir de ces points candidats pour trouver des chemins permettant d'accéder à des entrées non fiables.

Fonctionnalités

  • Expérience utilisateur headless et extrêmement rapide grâce à IDA 9.x et aux bindings Rust idalib-rs.
  • Prise en charge de binaires C/C++ compilés pour toute architecture implémentée par IDA.
  • Les emplacements des appels à des fonctions d'API dangereuses sont affichés sur stdout et marqués dans l'IDB.
  • Les fonctions d'API dangereuses connues sont regroupées en niveaux de dangerosité pour aider à prioriser le travail d'audit.
    • [BAD 0] Priorité haute - Fonctions généralement considérées comme non sécurisées.
    • [BAD 1] Priorité moyenne - Fonctions intéressantes qui doivent être vérifiées pour des cas d'usage non sécurisés.
    • [BAD 2] Priorité basse - Les chemins de code impliquant ces fonctions doivent être soigneusement vérifiés.
  • La liste des fonctions d'API dangereuses connues peut être facilement personnalisée en éditant conf/rhabdomancer.toml.

Articles

  • https://hex-rays.com/blog/streamlining-vulnerability-research-idalib-rust-bindings
  • https://hnsecurity.it/blog/streamlining-vulnerability-research-with-ida-pro-and-rust

Voir aussi

  • https://github.com/0xdea/ghidra-scripts/blob/main/Rhabdomancer.java
  • https://docs.hex-rays.com/release-notes/9_0#headless-processing-with-idalib
  • https://github.com/idalib-rs/idalib
  • https://books.google.it/books/about/The_Art_of_Software_Security_Assessment.html

Installation

Le moyen le plus simple d'obtenir la dernière version est via crates.io :

  1. Téléchargez, installez et configurez IDA (voir https://hex-rays.com/ida-pro).
  2. Installez LLVM/Clang (voir https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. Sous Linux/macOS, installez comme suit :
    root@kitploit:~
    export IDADIR=/path/to/ida # if not set, the build script will check common locations
    cargo install rhabdomancer
    
    Sous Windows, utilisez plutôt les commandes suivantes :
    root@kitploit:~
    $env:LIBCLANG_PATH="\path\to\clang+llvm\bin"
    $env:PATH="\path\to\ida;$env:PATH"
    $env:IDADIR="\path\to\ida" # if not set, the build script will check common locations
    cargo install rhabdomancer
    

Compilation

Vous pouvez également compiler à partir des sources :

  1. Téléchargez, installez et configurez IDA (voir https://hex-rays.com/ida-pro).
  2. Installez LLVM/Clang (voir https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. Sous Linux/macOS, compilez comme suit :
    root@kitploit:~
    git clone --depth 1 https://github.com/0xdea/rhabdomancer
    cd rhabdomancer
    export IDADIR=/path/to/ida # if not set, the build script will check common locations
    cargo build --release
    
    Sous Windows, utilisez plutôt les commandes suivantes :
    root@kitploit:~
    git clone --depth 1 https://github.com/0xdea/rhabdomancer
    cd rhabdomancer
    $env:LIBCLANG_PATH="\path\to\clang+llvm\bin"
    $env:PATH="\path\to\ida;$env:PATH"
    $env:IDADIR="\path\to\ida" # if not set, the build script will check common locations
    cargo build --release
    

Utilisation

  1. Assurez-vous qu'IDA est correctement configuré avec une licence valide.
  2. Personnalisez si nécessaire la liste des fonctions d'API dangereuses connues dans conf/rhabdomancer.toml. Vous pouvez remplacer l'emplacement du fichier de configuration par défaut en définissant la variable d'environnement RHABDOMANCER_CONFIG.
  3. Assurez-vous que la variable d'environnement IDADIR est définie si votre installation d'IDA se trouve dans un emplacement non standard.
  4. Exécutez comme suit :
    root@kitploit:~
    rhabdomancer <binary_file>
    
    Tout fichier IDB .i64 existant sera mis à jour ; sinon, un nouveau fichier IDB sera créé.
  5. Ouvrez le fichier IDB .i64 résultant avec IDA.
  6. Sélectionnez View > Open subviews > Bookmarks
  7. Profitez de vos résultats commodément rassemblés dans une fenêtre IDA.

[!NOTE] Rhabdomancer ajoute également des commentaires aux emplacements d'appels marqués.

Compatibilité

Seule la dernière version d'IDA est officiellement prise en charge, mais les versions antérieures peuvent également fonctionner. Le tableau suivant résume la dernière version compatible pour chaque version d'IDA :

[!NOTE] Consultez la documentation idalib-rs pour plus d'informations.

Crédits

Le développement de ce projet a été soutenu par les organisations suivantes :

  • HN Security
  • Hex-Rays via leur programme de contributeurs

Changelog

  • CHANGELOG.md

TODO

  • Enrichir davantage la liste des fonctions d'API dangereuses connues (voir https://github.com/0xdea/semgrep-rules).
  • Envisager d'élargir la portée de la normalisation dans normalize_name pour couvrir davantage de cas.
  • Implémenter un ensemble de règles de base dans le style de VulFi et VulnFanatic.
Télécharger l’outil
Version d'IDADernière version compatible
v9.0.240925v0.2.4
v9.0.241217v0.3.5
v9.1.250226v0.6.2
v9.2.250908v0.7.6
v9.3.260213v0.8.1
v9.3.260327v0.9.0
v9.3.260421v0.9.3
v9.4.260714version actuelle