Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
rhabdomancer — Asistente de investigación de vulnerabilidades que localiza llamadas a funciones de API potencialmente inseguras en un archivo binario. | Kitploit
Herramientas/GitHubGitHub/0xdea/rhabdomancer
Análisis EstáticoAnálisis de VulnerabilidadesIngeniería InversaAnálisis de Binarios
GitHub0xdea/rhabdomancer

rhabdomancer

Asistente de investigación de vulnerabilidades que localiza llamadas a funciones de API potencialmente inseguras en un archivo binario.

Ver Repositorio
13115hace 6 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

rhabdomancer

build doc

"El camino hacia los bugs explotables está pavimentado con bugs no explotables."

-- Mark Dowd

Rhabdomancer es un plugin headless de IDA extremadamente rápido que localiza llamadas a funciones de API potencialmente inseguras en un archivo binario. Los auditores pueden trazar hacia atrás desde estos puntos candidatos para encontrar rutas que permitan el acceso a entradas no confiables.

Características

  • Experiencia de usuario headless y extremadamente rápida gracias a IDA 9.x y los bindings de Rust de idalib-rs.
  • Soporte para binarios C/C++ compilados para cualquier arquitectura implementada por IDA.
  • Las ubicaciones de llamadas a funciones de API peligrosas se imprimen en stdout y se marcan en la IDB.
  • Las funciones de API peligrosas conocidas se agrupan en niveles de peligrosidad para ayudar a priorizar el trabajo de auditoría.
    • [BAD 0] Prioridad alta - Funciones que generalmente se consideran inseguras.
    • [BAD 1] Prioridad media - Funciones interesantes que deberían revisarse para detectar casos de uso inseguros.
    • [BAD 2] Prioridad baja - Las rutas de código que involucran estas funciones deben revisarse cuidadosamente.
  • La lista de funciones de API peligrosas conocidas se puede personalizar fácilmente editando conf/rhabdomancer.toml.

Artículos

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

Ver también

  • 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

Instalación

La forma más sencilla de obtener la última versión es a través de crates.io:

  1. Descarga, instala y configura IDA (consulta https://hex-rays.com/ida-pro).
  2. Instala LLVM/Clang (consulta https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. En Linux/macOS, instala de la siguiente manera:
    root@kitploit:~
    export IDADIR=/path/to/ida # if not set, the build script will check common locations
    cargo install rhabdomancer
    
    En Windows, por el contrario, usa los siguientes comandos:
    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
    

Compilación

Alternativamente, puedes compilar desde el código fuente:

  1. Descarga, instala y configura IDA (consulta https://hex-rays.com/ida-pro).
  2. Instala LLVM/Clang (consulta https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. En Linux/macOS, compila de la siguiente manera:
    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
    
    En Windows, por el contrario, usa los siguientes comandos:
    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
    

Uso

  1. Asegúrate de que IDA esté correctamente configurado con una licencia válida.
  2. Personaliza la lista de funciones de API peligrosas conocidas en conf/rhabdomancer.toml si es necesario. Puedes anular la ubicación predeterminada del archivo de configuración estableciendo la variable de entorno RHABDOMANCER_CONFIG.
  3. Asegúrate de que la variable de entorno IDADIR esté definida si tu instalación de IDA se encuentra en una ubicación no estándar.
  4. Ejecuta de la siguiente manera:
    root@kitploit:~
    rhabdomancer <binary_file>
    
    Cualquier archivo IDB .i64 existente se actualizará; de lo contrario, se creará un nuevo archivo IDB.
  5. Abre el archivo IDB .i64 resultante con IDA.
  6. Selecciona View > Open subviews > Bookmarks
  7. Disfruta de tus resultados recopilados cómodamente en una ventana de IDA.

[!NOTE] Rhabdomancer también añade comentarios en las ubicaciones de llamadas marcadas.

Compatibilidad

Solo se admite oficialmente la última versión de IDA, pero las versiones anteriores también pueden funcionar. La siguiente tabla resume la versión compatible más reciente para cada versión de IDA:

[!NOTE] Consulta la documentación de idalib-rs para obtener información adicional.

Créditos

El desarrollo de este proyecto ha contado con el apoyo de las siguientes organizaciones:

  • HN Security
  • Hex-Rays a través de su Programa de Colaboradores

Registro de cambios

  • CHANGELOG.md

TODO

  • Ampliar aún más la lista de funciones de API peligrosas conocidas (consulta https://github.com/0xdea/semgrep-rules).
  • Considerar ampliar el alcance de la normalización en normalize_name para cubrir más casos.
  • Implementar un conjunto de reglas básico al estilo de VulFi y VulnFanatic.
Descargar herramienta
Versión de IDAÚltima versión 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.260714current release