Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
rhabdomancer — Assistente per la ricerca di vulnerabilità che individua le chiamate a funzioni API potenzialmente non sicure in un file binario. | Kitploit
Strumenti/GitHubGitHub/0xdea/rhabdomancer
Analisi StaticaAnalisi delle VulnerabilitàReverse EngineeringAnalisi di Binari
GitHub0xdea/rhabdomancer

rhabdomancer

Assistente per la ricerca di vulnerabilità che individua le chiamate a funzioni API potenzialmente non sicure in un file binario.

Vedi Repository
131155 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

rhabdomancer

build doc

"La strada verso i bug sfruttabili è lastricata di bug non sfruttabili."

-- Mark Dowd

Rhabdomancer è un plugin headless per IDA estremamente veloce che individua le chiamate a funzioni API potenzialmente insicure in un file binario. Gli auditor possono risalire da questi punti candidati per trovare percorsi che consentono l'accesso a input non attendibili.

Funzionalità

  • Esperienza utente headless estremamente veloce grazie a IDA 9.x e ai binding Rust di idalib-rs.
  • Supporto per binari C/C++ compilati per qualsiasi architettura implementata da IDA.
  • Le posizioni delle chiamate a funzioni API pericolose vengono stampate su stdout e marcate nell'IDB.
  • Le funzioni API pericolose note sono raggruppate in livelli di pericolosità per aiutare a prioritizzare il lavoro di audit.
    • [BAD 0] Priorità alta - Funzioni generalmente considerate insicure.
    • [BAD 1] Priorità media - Funzioni interessanti che dovrebbero essere verificate per casi d'uso insicuri.
    • [BAD 2] Priorità bassa - I percorsi di codice che coinvolgono queste funzioni dovrebbero essere controllati attentamente.
  • L'elenco delle funzioni API pericolose note può essere facilmente personalizzato modificando conf/rhabdomancer.toml.

Articoli

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

Vedi anche

  • 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

Installazione

Il modo più semplice per ottenere l'ultima release è tramite crates.io:

  1. Scarica, installa e configura IDA (vedi https://hex-rays.com/ida-pro).
  2. Installa LLVM/Clang (vedi https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. Su Linux/macOS, installa come segue:
    root@kitploit:~
    export IDADIR=/path/to/ida # if not set, the build script will check common locations
    cargo install rhabdomancer
    
    Su Windows, invece, usa i seguenti comandi:
    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
    

Compilazione

In alternativa, puoi compilare dal sorgente:

  1. Scarica, installa e configura IDA (vedi https://hex-rays.com/ida-pro).
  2. Installa LLVM/Clang (vedi https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. Su Linux/macOS, compila come segue:
    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
    
    Su Windows, invece, usa i seguenti comandi:
    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
    

Utilizzo

  1. Assicurati che IDA sia configurato correttamente con una licenza valida.
  2. Personalizza l'elenco delle funzioni API pericolose note in conf/rhabdomancer.toml se necessario. Puoi sovrascrivere la posizione predefinita del file di configurazione impostando la variabile d'ambiente RHABDOMANCER_CONFIG.
  3. Assicurati che la variabile d'ambiente IDADIR sia impostata se la tua installazione di IDA si trova in una posizione non standard.
  4. Esegui come segue:
    root@kitploit:~
    rhabdomancer <binary_file>
    
    Qualsiasi file IDB .i64 esistente verrà aggiornato; in caso contrario, verrà creato un nuovo file IDB.
  5. Apri il file IDB .i64 risultante con IDA.
  6. Seleziona View > Open subviews > Bookmarks
  7. Goditi i tuoi risultati comodamente raccolti in una finestra di IDA.

[!NOTE] Rhabdomancer aggiunge anche commenti nelle posizioni delle chiamate marcate.

Compatibilità

Solo l'ultima versione di IDA è ufficialmente supportata, ma le versioni precedenti potrebbero funzionare comunque. La seguente tabella riassume l'ultima release compatibile per ciascuna versione di IDA:

[!NOTE] Consulta la documentazione di idalib-rs per ulteriori informazioni.

Crediti

Lo sviluppo di questo progetto è stato supportato dalle seguenti organizzazioni:

  • HN Security
  • Hex-Rays tramite il loro Contributor Program

Changelog

  • CHANGELOG.md

TODO

  • Arricchire ulteriormente l'elenco delle funzioni API pericolose note (vedi https://github.com/0xdea/semgrep-rules).
  • Valutare l'ampliamento dell'ambito di normalizzazione in normalize_name per coprire più casi.
  • Implementare un set di regole di base nello stile di VulFi e VulnFanatic.
Scarica lo strumento
Versione IDAUltima release compatibile
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.260714release corrente