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
hyperpom — Fuzzer AArch64 basé sur l'hyperviseur Apple Silicon. | Kitploit
Outils/GitHubGitHub/impalabs/hyperpom
Analyse Dynamique (Sandboxing)Analyse des VulnérabilitésVirtualisation de SécuritéFuzzingAnalyse de Binaires
GitHubimpalabs/hyperpom

hyperpom

Fuzzer AArch64 basé sur l'hyperviseur Apple Silicon.

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

logo hyperpom

HYPERPOM
bibliothèque de fuzzing AArch64 basée sur l'hyperviseur Apple Silicon


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


Table des matières

  • Avertissement
  • Pour commencer
    • Prérequis
    • Binaires auto-signés et entitlement hyperviseur
    • Processus de compilation
  • Documentation
  • Exemples
  • Exécution des tests
  • Auteurs

Hyperpom est un framework de fuzzing par mutation guidé par la couverture, construit sur l'hyperviseur Apple Silicon. Il a été conçu pour instrumenter et fuzzer facilement des binaires AArch64 en espace utilisateur.

⚠️ Avertissement

L'idée derrière ce projet était de créer un fuzzer efficace et rapide qui tirerait parti des fonctionnalités d'Apple Silicon. Cependant, à ce stade, bien que le fuzzer fonctionne, il s'agit encore principalement d'une preuve de concept et il nécessite énormément d'améliorations pour offrir de meilleures fonctionnalités, une meilleure ergonomie et de meilleures performances.

Il peut suffire pour vos cas d'usage, mais gardez à l'esprit que vous pourriez rencontrer des limitations qui n'ont pas été prises en compte lors de la conception du projet. Dans tous les cas, n'hésitez pas à ouvrir une issue et nous essaierons de résoudre votre problème.

Pour commencer

Prérequis

  1. Installez Rust et rustup en suivant le guide officiel.
  2. Installez le canal nightly.
root@kitploit:~
rustup toolchain install nightly
  1. Pour utiliser ce canal lors de la compilation, vous pouvez soit :

    • le définir comme canal par défaut en utilisant rustup default nightly;
    • ou ajouter +nightly à chaque fois que vous compilez un binaire avec cargo.
  2. Installez Cmake, en utilisant brew par exemple :

root@kitploit:~
brew install cmake

Binaires auto-signés et entitlement hyperviseur

Pour pouvoir accéder au framework Hypervisor, un binaire exécutable doit avoir reçu l'entitlement hyperviseur.

Vous pouvez ajouter cet entitlement à un binaire situé à /path/to/binary en utilisant le fichier entitlements.xml trouvé à la racine du dépôt Hyperpom et la commande suivante :

root@kitploit:~
codesign --sign - --entitlements entitlements.xml --deep --force /path/to/binary

Processus de compilation

Créez un projet Rust et ajoutez Hyperpom comme dépendance dans Cargo.toml. Vous pouvez soit le récupérer depuis crates.io ...

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

... ou directement depuis le dépôt GitHub.

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

Créez un fichier nommé entitlements.txt à la racine du projet et ajoutez ce qui suit :

root@kitploit:~
<?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>

Écrivez le code puis compilez le projet.

root@kitploit:~
cargo build --release

Signez le binaire et accordez-lui l'entitlement hyperviseur.

root@kitploit:~
codesign --sign - --entitlements entitlements.xml --deep --force target/release/${PROJECT_NAME}

Exécutez le binaire.

root@kitploit:~
target/release/${PROJECT_NAME}

Documentation

La documentation est disponible en ligne à l'adresse suivante : https://docs.rs/hyperpom

Vous pouvez également la générer avec cargo :

root@kitploit:~
cargo doc --open

La documentation contient des informations sur l'utilisation du framework et de ses composants internes. Pour un guide approfondi, consultez le chapitre Loader, qui fournit des exemples sur la façon d'utiliser le fuzzer et de harnacher vos cibles.

Exemples

Quatre exemples sont fournis pour vous permettre de mieux comprendre le fonctionnement du framework et de démarrer :

  • simple_executor: montre comment exécuter du code arbitraire dans une VM à l'aide d'un Executor.
  • simple_tracer: exécute un programme tout en traçant ses instructions.
  • simple_fuzzer: fuzze un programme simple.
  • upng_fuzzer: fuzzer pour la bibliothèque uPNG.

Vous pouvez également jeter un coup d'œil aux tests.

Exécution des tests

Pour exécuter les tests à l'aide du Makefile fourni avec le projet, vous devrez d'abord installer jq. Vous pouvez le faire avec brew :

root@kitploit:~
brew install jq

Vous pouvez ensuite exécuter les tests avec le Makefile fourni en utilisant la commande suivante :

root@kitploit:~
make tests

Auteurs

  • Maxime Peterlin - [email protected]
Télécharger l’outil