Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/impalabs/hyperpom
Analisi Dinamica (Sandboxing)Analisi delle VulnerabilitàVirtualizzazione per la SicurezzaFuzzingAnalisi di Binari
GitHubimpalabs/hyperpom

hyperpom

Fuzzer AArch64 basato sull'hypervisor Apple Silicon

Vedi Repository
20218242 anni 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

logo hyperpom

HYPERPOM
Libreria di fuzzing AArch64 basata sull'hypervisor Apple Silicon


shields.io license shields.io version shields.io platform
shields.io rust version shields.io crates.io shields.io crates.io


Indice dei contenuti

  • Disclaimer
  • Per Iniziare
    • Prerequisiti
    • Binari auto-firmati ed entitlement dell'hypervisor
    • Flusso di compilazione
  • Documentazione
  • Esempi
  • Esecuzione dei test
  • Autori

Hyperpom è un framework di fuzzing mutation-based guidato dalla copertura del codice, costruito sopra l'Apple Silicon Hypervisor. È stato progettato per instrumentare e fare fuzzing facilmente di binari AArch64 in userland.

⚠️ Disclaimer

L'idea alla base di questo progetto era creare un fuzzer efficiente e veloce che sfruttasse le funzionalità di Apple Silicon. Tuttavia, in questa fase, sebbene il fuzzer funzioni, è ancora per lo più una proof of concept e richiede moltissimi miglioramenti per offrire migliori funzionalità, usabilità e prestazioni.

Potrebbe essere sufficiente per i tuoi casi d'uso, ma tieni presente che potresti incontrare limitazioni non considerate durante la progettazione del progetto. In ogni caso, non esitare ad aprire una issue e cercheremo di risolvere il tuo problema.

Per Iniziare

Prerequisiti

  1. Installa Rust e rustup seguendo la guida ufficiale.
  2. Installa il canale nightly.
rustup toolchain install nightly
  1. Per usare questo canale durante la compilazione puoi:

    • impostarlo come predefinito usando rustup default nightly;
    • oppure aggiungere +nightly ogni volta che compili un binario con cargo.
  2. Installa Cmake, ad esempio con brew:

brew install cmake

Binari auto-firmati ed entitlement dell'hypervisor

Per poter accedere all'Hypervisor Framework, a un binario eseguibile deve essere stato concesso l'entitlement per l'hypervisor.

Puoi aggiungere questo entitlement a un binario situato in /path/to/binary usando il file entitlements.xml che si trova nella radice del repository Hyperpom e il seguente comando:

codesign --sign - --entitlements entitlements.xml --deep --force /path/to/binary

Flusso di compilazione

Crea un progetto Rust e aggiungi Hyperpom come dipendenza in Cargo.toml. Puoi prelevarlo da crates.io ...

# Check which version is the latest, this part of the README might not be updated
# in future releases.
hyperpom = "0.1.0"

... oppure direttamente dal repository GitHub.

hyperpom = { git="https://github.com/impalabs/hyperpom", branch="master" }

Crea un file chiamato entitlements.txt nella directory principale del progetto e aggiungi quanto segue:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.hypervisor</key>
    <true/>
</dict>
</plist>

Scrivi del codice e poi compila il progetto.

cargo build --release

Firma il binario e concedi l'entitlement dell'hypervisor.

codesign --sign - --entitlements entitlements.xml --deep --force target/release/${PROJECT_NAME}

Esegui il binario.

target/release/${PROJECT_NAME}

Documentazione

La documentazione è disponibile online al seguente indirizzo: https://docs.rs/hyperpom

In alternativa, puoi generarla usando cargo:

cargo doc --open

La documentazione contiene informazioni sull'uso del framework e sui suoi interni. Per una guida approfondita, dai un'occhiata al capitolo Loader, che fornisce esempi su come usare il fuzzer e creare l'harness per i tuoi target.

Esempi

Sono forniti quattro esempi per farti capire meglio come funziona il framework e per iniziare:

  • simple_executor: mostra come eseguire codice arbitrario in una VM usando un Executor.
  • simple_tracer: esegue un programma tracciandone le istruzioni.
  • simple_fuzzer: esegue il fuzzing di un semplice programma.
  • upng_fuzzer: fuzzer per la libreria uPNG.

Puoi anche dare un'occhiata ai test.

Esecuzione dei test

Per eseguire i test usando il Makefile fornito con il progetto, dovrai prima installare jq. Puoi farlo usando brew:

brew install jq

Puoi quindi eseguire i test con il Makefile fornito usando il seguente comando:

make tests

Autori

  • Maxime Peterlin - [email protected]
Scarica lo strumento