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
kaiju — CERT Kaiju est une extension de framework d'analyse binaire pour la suite de rétro-ingénierie logicielle Ghidra. Ce dépôt est un "miroir" -- veuillez soumettre les tickets, rapports de bugs ou pull requests sur le dépôt amont chez @CERTCC : https://github.com/certcc/kaiju | Kitploit
Outils/GitHubGitHub/cmu-sei/kaiju
Analyse StatiqueRétro-ingénierieAnalyse de MalwareAnalyse de BinairesAnalyse de Micrologiciel
GitHubcmu-sei/kaiju

kaiju

CERT Kaiju est une extension de framework d'analyse binaire pour la suite de rétro-ingénierie logicielle Ghidra. Ce dépôt est un "miroir" -- veuillez soumettre les tickets, rapports de bugs ou pull requests sur le dépôt amont chez @CERTCC : https://github.com/certcc/kaiju

Voir le dépôt
144393il y a 6 moisVé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 →
Site web
Partager

Dynamic YAML Badge release_on_tag Badge run_tests_on_push_pr Badge

CERT Kaiju – Cadre d’analyse binaire pour GHIDRA

CERT Kaiju est un ensemble d’outils d’analyse binaire pour Ghidra.

Il s’agit d’une implémentation en Java pour Ghidra de certaines fonctionnalités du CERT Pharos Binary Analysis Framework, notamment les outils de hachage de fonctions et d’analyse de malwares, mais devrait s’enrichir de nouveaux outils et capacités au fil du temps.

Comme il s’agit d’un nouvel effort, cette implémentation n’offre pas encore la parité complète de fonctionnalités avec l’implémentation originale en C++ basée sur ROSE ; cependant, le passage à Java et à Ghidra a en réalité permis de nouvelles fonctionnalités absentes du cadre original – notamment une meilleure gestion des architectures non x86. Étant donné qu’une réarchitecture significative du cadre et des outils est en cours, et que le passage à Java et à Ghidra offre des capacités différentes de l’implémentation C++, il a été décidé d’utiliser une nouvelle marque afin d’éviter toute confusion entre les implémentations lors de la discussion des différents outils et capacités.

Notre intention pour le futur proche est de maintenir à la fois le cadre original Pharos et Kaiju, côte à côte, car chacun peut offrir des fonctionnalités et capacités uniques.

AVERTISSEMENT : En tant que prototype, de nombreux problèmes peuvent survenir lors de l’évaluation des hachages de fonctions créés par ce plugin. Par exemple, contrairement à l’implémentation Pharos, le module de hachage de fonctions de Kaiju crée des hachages pour des fonctions très petites (par exemple, celles avec une seule instruction comme RET, ce qui provoque beaucoup plus de collisions non intentionnelles). Ainsi, les résultats analytiques peuvent varier entre ce plugin et Pharos fn2hash.

Installation

Des paquets Kaiju préconstruits sont disponibles. Téléchargez simplement le fichier ZIP correspondant à votre version de Ghidra et installez-le selon les instructions ci-dessous. Il est recommandé d’installer via l’interface graphique de Ghidra, mais il est également possible de décompresser manuellement dans le répertoire approprié pour installer.

CERT Kaiju nécessite les dépendances d’exécution suivantes :

  • Ghidra 10.3.x, 10.4.x, 11.0.x, 11.1.x, 11.2.x, 11.3.x, 11.4.x, 12.0.x
  • JDK 21 (ou 17 pour les versions plus anciennes de Ghidra)
  • Z3 incluant les bindings Java .jar

Z3 est fourni précompilé dans les paquets préconstruits, ou vous pouvez compiler Z3 vous-même ou utiliser le paquet de votre distribution Linux.

Installation graphique

Lancez Ghidra, et depuis la fenêtre d’ouverture, sélectionnez dans le menu : File > Install Extension. Cliquez sur le signe plus en haut de la fenêtre des extensions, naviguez et sélectionnez le fichier .zip dans l’explorateur de fichiers et cliquez sur OK. L’extension sera installée et une case à cocher sera marquée à côté du nom de l’extension dans la fenêtre pour vous indiquer qu’elle est installée et prête.

L’interface vous demandera de redémarrer Ghidra pour commencer à utiliser l’extension. Redémarrez simplement, puis les fonctionnalités supplémentaires de Kaiju seront disponibles pour une utilisation interactive ou dans des scripts.

Certaines fonctionnalités peuvent nécessiter l’activation des plugins Kaiju. Pour ce faire, ouvrez le Code Browser puis naviguez dans le menu File > Configure. Dans la fenêtre qui s’affiche, cliquez sur le lien Configure sous l’icône de la catégorie « CERT Kaiju ». Une fenêtre contextuelle affichera tous les plugins Kaiju disponibles publiquement. Cochez tous les plugins que vous souhaitez activer, puis cliquez sur OK. Vous aurez alors accès aux fonctionnalités interactives des plugins.

Si un plugin n’est pas immédiatement visible une fois activé, vous pouvez le trouver sous le menu Window dans le Code Browser.

Des versions expérimentales « alpha » des futurs outils peuvent être disponibles dans la catégorie « Experimental » si vous souhaitez les tester. Cependant, ces plugins sont définitivement expérimentaux et non supportés, et ne sont pas recommandés pour une utilisation en production. Nous accueillons cependant les retours précoces !

Installation manuelle

Les extensions Ghidra comme Kaiju peuvent également être installées manuellement en décompressant le contenu de l’extension dans le répertoire approprié de votre installation Ghidra. Pour plus d’informations, veuillez consulter The Ghidra Installation Guide.

Compilation personnelle

Vous pouvez également compiler l’extension Kaiju directement à partir du code source. Voir le fichier INSTALL.md inclus dans le répertoire source principal de Kaiju.

Utilisation

Les outils de Kaiju peuvent être utilisés soit de manière interactive avec interface graphique, soit via un mode « headless » (sans interface) plus adapté aux traitements par lots. Certains outils peuvent n’être disponibles que pour une utilisation graphique ou sans interface, selon leur nature.

Interface graphique interactive

Kaiju crée une interface graphique interactive (GUI) dans Ghidra utilisant Java Swing et l’architecture de plugins de Ghidra.

La plupart des outils de Kaiju sont en réalité des plugins d’analyse qui s’exécutent automatiquement lorsque l’option « Auto Analysis » est choisie, soit lors de l’import d’un nouvel exécutable à désassembler, soit en choisissant directement Analysis > Auto Analyze... depuis la fenêtre du code browser. Vous verrez plusieurs plugins d’analyse CERT sélectionnés par défaut dans l’outil Auto Analyze, mais vous pouvez activer/désactiver ceux que vous souhaitez.

Cependant, les outils d’analyse doivent être exécutés avant que les différents outils GUI ne fonctionnent. Dans certains cas particuliers, il peut même être utile d’exécuter l’analyse automatique deux fois pour garantir la production de toutes les métadonnées nécessaires à la création d’un partitionnement et d’informations de désassemblage corrects, ce qui peut à son tour influencer les résultats de hachage.

Les analyseurs sont automatiquement exécutés pendant la phase d’analyse de Ghidra et incluent :

  • DisasmImprovements = améliore le partitionnement des fonctions du désassemblage par rapport au partitionnement standard de Ghidra.
  • Fn2Hash = calcule les hachages de fonctions pour toutes les fonctions d’un programme et est utilisé pour générer des signatures YARA pour les programmes.

Les outils GUI incluent :

  • GhiHorn = un plugin pour calculer les chemins et l’atteignabilité dans les graphes de flot de contrôle, en utilisant Z3.
    • Sélectionnez Kaiju > GhiHorn pour accéder à cet outil depuis le CodeBrowser de Ghidra. Vous pouvez également lancer le plugin en appuyant sur CTRL-G.
  • Function Hash Viewer = un plugin qui affiche une liste interactive des fonctions d’un programme et plusieurs types de hachages. Les analystes peuvent l’utiliser pour exporter une ou plusieurs fonctions d’un programme vers des signatures YARA.
    • Sélectionnez Window > CERT Kaiju Function Hash Viewer dans le menu pour commencer avec cet outil s’il n’est pas déjà visible. Une nouvelle fenêtre apparaîtra affichant un tableau de hachages et d’autres données. Les boutons en haut de la fenêtre peuvent actualiser le tableau ou exporter les données vers un fichier ou une signature YARA. Cette fenêtre peut également être ancrée dans le CodeBrowser principal de Ghidra pour une utilisation plus facile aux côtés d’autres plugins. Une documentation d’utilisation plus complète se trouve dans le menu Help > Contents de Ghidra lors de l’utilisation de l’outil.
  • OOAnalyzer JSON Importer = un plugin qui peut charger, analyser et appliquer les résultats OOAnalyzer générés par Pharos à des exécutables C++ orientés objet dans un projet Ghidra. Lorsqu’il est lancé, le plugin demande à l’utilisateur le fichier de sortie JSON produit par OOAnalyzer contenant des informations sur les classes C++ récupérées. Après le chargement du fichier JSON, les types de données C++ et les symboles récupérés par OOAnalyzer sont mis à jour dans le Code Browser de Ghidra. La conception et les détails de mise en œuvre du plugin sont décrits dans notre billet de blog SEI intitulé Utiliser OOAnalyzer pour rétro-concevoir du code orienté objet avec Ghidra.
    • Sélectionnez Kaiju > OOAnalyzer Importer dans le menu pour commencer avec cet outil. Une simple boîte de dialogue vous demandera de localiser le fichier JSON que vous souhaitez importer. Une documentation d’utilisation plus complète se trouve dans le menu Help > Contents de Ghidra lors de l’utilisation de l’outil.

Mode ligne de commande « Headless »

Ghidra prend également en charge un mode « headless » (sans interface graphique) permettant d’exécuter des outils dans certaines circonstances sans utiliser l’interface graphique interactive. Ces commandes peuvent donc être utilisées pour des travaux de script et de « mode batch » sur un grand nombre de fichiers.

Les outils headless reposent en grande partie sur la fonctionnalité GhidraScript de Ghidra.

Les outils headless incluent :

  • fn2hash = exécute automatiquement Fn2Hash sur un programme donné et exporte tous les hachages vers un fichier CSV spécifié
  • fn2yara = exécute automatiquement Fn2Hash sur un programme donné et exporte toutes les données de hachage sous forme de signatures YARA vers le fichier spécifié
  • fnxrefs = analyse un programme et exporte une liste de fonctions basées sur l’adresse du point d’entrée qui ont des références croisées dans les données ou d’autres parties du programme

Un simple script de lancement shell nommé kaijuRun a été inclus pour exécuter ces commandes headless dans des scénarios simples, comme la sortie des hachages de fonctions pour chaque fonction d’un seul exécutable. En supposant que la variable GHIDRA_INSTALL_DIR est définie, on pourrait par exemple exécuter le script de lancement sur un seul exécutable comme suit :

root@kitploit:~
$GHIDRA_INSTALL_DIR/Ghidra/Extensions/kaiju/kaijuRun fn2hash example.exe

Cette commande sortirait les résultats dans un fichier nommé automatiquement example.exe.Hashes.csv.

Une aide de base pour le script kaijuRun est disponible en exécutant :

root@kitploit:~
$GHIDRA_INSTALL_DIR/Ghidra/Extensions/kaiju/kaijuRun --help

Veuillez consulter le fichier docs/HeadlessKaiju.md dans le dépôt pour plus d’informations sur l’utilisation de ce mode et du script de lancement kaijuRun.

Documentation et aide supplémentaires

Une documentation et une aide plus complètes sont disponibles, sous l’un des deux formats suivants.

Voir le répertoire docs/ pour une documentation formatée en Markdown et de l’aide pour tous les outils et composants Kaiju. Ces documents sont faciles à maintenir, à éditer et à lire même en ligne de commande.

Alternativement, vous pouvez trouver la même documentation dans le système d’aide intégré de Ghidra. Pour accéder à ces documents d’aide, depuis le menu Ghidra, allez dans Help > Contents puis sélectionnez CERT Kaiju dans l’arbre de navigation sur le côté gauche de la fenêtre d’aide.

Veuillez noter que la documentation d’aide de Ghidra est exactement le même contenu que les fichiers Markdown dans le répertoire docs/ ; grâce à un plugin gradle intégré, gradle analysera automatiquement le Markdown et l’exportera en HTML Ghidra pendant le processus de construction. Cela permet une maintenance encore plus simple (mise à jour de la documentation à un seul endroit, et non deux) et maintient les deux synchronisés.

Toute nouvelle documentation doit être ajoutée au répertoire docs/.

Licence

Ce logiciel est sous licence de type BSD simplifié par le Software Engineering Institute de l’Université Carnegie Mellon. Veuillez trouver tous les détails de cette licence, ainsi que les conditions de licence des dépendances utilisées dans ce projet, dans le fichier LICENSE.md à la racine de ce dépôt.

Le logo CERT Kaiju est basé sur une œuvre créée par Cameron Spahn, initialement publiée sous les termes de la licence Creative Commons Attribution-Share Alike 4.0 International.

Télécharger l’outil