Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
kaiju — CERT Kaiju ist eine Erweiterung des Binary-Analyse-Frameworks für die Ghidra Software Reverse Engineering Suite. Dieses Repository ist ein "Mirror" – bitte reichen Sie Tickets, Fehlerberichte oder Pull-Requests im Upstream-Repository bei @CERTCC ein: https://github.com/certcc/kaiju | Kitploit
Tools/GitHubGitHub/cmu-sei/kaiju
Statische AnalyseReverse EngineeringMalware-AnalyseBinäranalyseFirmware-Analyse
GitHubcmu-sei/kaiju

kaiju

Repository anzeigen
144393vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite

Über

CERT Kaiju ist eine Erweiterung des Binary-Analyse-Frameworks für die Ghidra Software Reverse Engineering Suite. Dieses Repository ist ein "Mirror" – bitte reichen Sie Tickets, Fehlerberichte oder Pull-Requests im Upstream-Repository bei @CERTCC ein: https://github.com/certcc/kaiju

Teilen

Dynamic YAML Badge release_on_tag Badge run_tests_on_push_pr Badge

CERT Kaiju Binäranalyse-Framework für GHIDRA

CERT Kaiju ist eine Sammlung von Binäranalyse-Werkzeugen für Ghidra.

Dies ist eine Ghidra/Java-Implementierung einiger Funktionen des CERT Pharos Binary Analysis Framework, insbesondere der Funktions-Hashing- und Malware-Analyse-Werkzeuge, es wird jedoch erwartet, dass im Laufe der Zeit neue Werkzeuge und Fähigkeiten hinzukommen.

Da es sich um eine neue Initiative handelt, hat diese Implementierung noch nicht die vollständige Funktionsparität mit der ursprünglichen C++-Implementierung auf Basis von ROSE; der Wechsel zu Java und Ghidra hat jedoch einige neue Funktionen ermöglicht, die im ursprünglichen Framework nicht verfügbar waren – insbesondere eine verbesserte Handhabung von Nicht-x86-Architekturen.

Da eine erhebliche Neuarchitektur des Frameworks und der Werkzeuge stattfindet und der Wechsel zu Java und Ghidra andere Fähigkeiten als die C++-Implementierung ermöglicht, wurde beschlossen, ein neues Branding zu verwenden, um Verwirrung zwischen den Implementierungen bei der Diskussion der verschiedenen Werkzeuge und Fähigkeiten zu vermeiden.

Unsere Absicht für die nahe Zukunft ist es, sowohl das ursprüngliche Pharos-Framework als auch Kaiju parallel zu pflegen, da beide einzigartige Funktionen und Fähigkeiten bieten können.

HINWEIS: Als Prototyp können bei der Auswertung der von diesem Plugin erstellten Funktions-Hashes viele Probleme auftreten. Im Gegensatz zur Pharos-Implementierung erstellt das Funktions-Hashing-Modul von Kaiju beispielsweise Hashes für sehr kleine Funktionen (z. B. solche mit einer einzelnen Anweisung wie RET, was zu vielen unbeabsichtigten Kollisionen führt). Daher können die Analyseergebnisse zwischen diesem Plugin und Pharos fn2hash variieren.

Installation

Vorgefertigte Kaiju-Pakete sind verfügbar. Laden Sie einfach die ZIP-Datei herunter, die Ihrer Version von Ghidra entspricht, und installieren Sie sie gemäß den nachstehenden Anweisungen. Es wird empfohlen, die Installation über die grafische Oberfläche von Ghidra durchzuführen, es ist aber auch möglich, das Archiv manuell in das entsprechende Verzeichnis zu entpacken.

CERT Kaiju erfordert die folgenden Laufzeitabhängigkeiten:

  • 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 (oder 17 für ältere Ghidra-Versionen)
  • Z3 einschließlich der Z3-Java-Bindungen .jar

Z3 wird als Teil der vorgefertigten Pakete vorkompiliert bereitgestellt, oder Sie können Z3 selbst erstellen oder das Paket Ihrer Linux-Distribution verwenden.

Grafische Installation

Starten Sie Ghidra und wählen Sie im Startfenster aus dem Menü: Datei > Erweiterung installieren. Klicken Sie auf das Pluszeichen oben im Erweiterungsfenster, navigieren Sie zur .zip-Datei im Dateibrowser und wählen Sie sie aus, und klicken Sie auf OK. Die Erweiterung wird installiert und ein Kontrollkästchen neben dem Namen der Erweiterung im Fenster wird markiert, um Sie zu informieren, dass sie installiert und bereit ist.

Die Oberfläche wird Sie auffordern, Ghidra neu zu starten, um die Erweiterung zu verwenden. Starten Sie einfach neu, und dann stehen Kaijus zusätzliche Funktionen interaktiv oder in Skripten zur Verfügung.

Einige Funktionen erfordern möglicherweise das Aktivieren von Kaiju-Plugins. Öffnen Sie dazu den Code-Browser und navigieren Sie zum Menü Datei > Konfigurieren. Klicken Sie im sich öffnenden Fenster auf den Link Konfigurieren unter dem Symbol der Kategorie „CERT Kaiju“. Ein Popup zeigt alle verfügbaren öffentlich veröffentlichten Kaiju-Plugins an. Aktivieren Sie die gewünschten Plugins und klicken Sie auf OK. Sie haben nun Zugriff auf interaktive Plugin-Funktionen.

Wenn ein Plugin nach der Aktivierung nicht sofort sichtbar ist, finden Sie es im Menü Fenster im Code-Browser.

Experimentelle „Alpha“-Versionen zukünftiger Werkzeuge können in der Kategorie „Experimental“ verfügbar sein, falls Sie diese testen möchten. Diese Plugins sind jedoch definitiv experimentell und werden nicht unterstützt und sind nicht für den Produktionseinsatz empfohlen. Wir freuen uns jedoch über frühzeitiges Feedback!

Manuelle Installation

Ghidra-Erweiterungen wie Kaiju können auch manuell installiert werden, indem Sie den Inhalt der Erweiterung in das entsprechende Verzeichnis Ihrer Ghidra-Installation entpacken. Weitere Informationen finden Sie im Ghidra-Installationshandbuch.

Selbst erstellen

Sie können die Kaiju-Erweiterung auch direkt aus dem Quellcode erstellen. Siehe die Datei INSTALL.md im obersten Kaiju-Quellverzeichnis.

Verwendung

Kaijus Werkzeuge können entweder interaktiv grafisch oder über einen „Headless“-Modus verwendet werden, der sich besser für Batch-Jobs eignet. Einige Werkzeuge sind aufgrund ihrer Art möglicherweise nur für die grafische oder die headless-Verwendung verfügbar.

Interaktive grafische Oberfläche

Kaiju erstellt eine interaktive grafische Oberfläche (GUI) in Ghidra unter Verwendung von Java Swing und der Plugin-Architektur von Ghidra.

Die meisten Werkzeuge von Kaiju sind eigentlich Analyse-Plugins, die automatisch ausgeführt werden, wenn die Option „Auto Analysis“ gewählt wird, entweder beim Import einer neuen auszuführenden Datei oder durch direktes Auswählen von Analyse > Auto-Analyse... im Code-Browser-Fenster. Sie werden mehrere CERT-Analyse-Plugins sehen, die im Auto-Analyse-Tool standardmäßig ausgewählt sind, aber Sie können nach Belieben aktivieren/deaktivieren.

Die Analysewerkzeuge müssen jedoch ausgeführt werden, bevor die verschiedenen GUI-Werkzeuge funktionieren. In einigen Randfällen kann es sogar hilfreich sein, die Auto-Analyse zweimal auszuführen, um sicherzustellen, dass alle Metadaten erzeugt werden, um korrekte Partitionierungs- und Disassemblierungsinformationen zu erstellen, die wiederum die Hashing-Ergebnisse beeinflussen können.

Analysatoren werden automatisch während der Analysephase von Ghidra ausgeführt und umfassen:

  • DisasmImprovements = verbessert die Funktionspartitionierung der Disassemblierung im Vergleich zur Standard-Ghidra-Partitionierung.
  • Fn2Hash = berechnet Funktions-Hashes für alle Funktionen in einem Programm und wird zur Generierung von YARA-Signaturen für Programme verwendet.

Die GUI-Werkzeuge umfassen:

  • GhiHorn = ein Plugin zur Berechnung von Pfaden und Erreichbarkeit in Kontrollflussgraphen unter Verwendung von Z3.
    • Wählen Sie Kaiju > GhiHorn um dieses Tool aus Ghidras CodeBrowser aufzurufen. Sie können das Plugin auch durch Drücken von STRG-G starten.
  • Function Hash Viewer = ein Plugin, das eine interaktive Liste von Funktionen in einem Programm und verschiedene Hash-Typen anzeigt. Analysten können damit eine oder mehrere Funktionen aus einem Programm in YARA-Signaturen exportieren.
    • Wählen Sie Fenster > CERT Kaiju Function Hash Viewer aus dem Menü, um mit diesem Tool zu beginnen, falls es nicht bereits sichtbar ist. Ein neues Fenster erscheint, das eine Tabelle mit Hashes und anderen Daten anzeigt. Schaltflächen oben im Fenster können die Tabelle aktualisieren oder Daten in eine Datei oder eine YARA-Signatur exportieren. Dieses Fenster kann auch in den Haupt-Ghidra-CodeBrowser eingedockt werden, um die Verwendung neben anderen Plugins zu erleichtern. Eine umfassendere Nutzungsdokumentation finden Sie im Menü Hilfe > Inhalt von Ghidra, wenn Sie das Tool verwenden.
  • OOAnalyzer JSON Importer = ein Plugin, das von Pharos generierte OOAnalyzer-Ergebnisse in objektorientierte C++-Ausführbare in einem Ghidra-Projekt laden, parsen und anwenden kann. Nach dem Start fragt das Plugin nach der von OOAnalyzer erstellten JSON-Ausgabedatei, die Informationen über wiederhergestellte C++-Klassen enthält. Nach dem Laden der JSON-Datei werden die von OOAnalyzer gefundenen wiederhergestellten C++-Datentypen und Symbole im Ghidra-CodeBrowser aktualisiert. Die Design- und Implementierungsdetails des Plugins werden in unserem SEI-Blogbeitrag mit dem Titel Using OOAnalyzer to Reverse Engineer Object Oriented Code with Ghidra beschrieben.
    • Wählen Sie Kaiju > OOAnalyzer Importer aus dem Menü, um mit diesem Tool zu beginnen. Ein einfacher Dialog fragt Sie nach der JSON-Datei, die Sie importieren möchten. Eine umfassendere Nutzungsdokumentation finden Sie im Menü Hilfe > Inhalt von Ghidra, wenn Sie das Tool verwenden.

Befehlszeilenmodus „Headless“

Ghidra unterstützt auch einen „Headless“-Modus, der es ermöglicht, Werkzeuge unter bestimmten Umständen ohne die interaktive GUI auszuführen. Diese Befehle können daher für Skript- und „Batch-Modus“-Aufgaben mit einer großen Anzahl von Dateien verwendet werden.

Die Headless-Werkzeuge basieren größtenteils auf der GhidraScript-Funktionalität von Ghidra.

Headless-Werkzeuge umfassen:

  • fn2hash = führt automatisch Fn2Hash auf einem gegebenen Programm aus und exportiert alle Hashes in eine angegebene CSV-Datei
  • fn2yara = führt automatisch Fn2Hash auf einem gegebenen Programm aus und exportiert alle Hashdaten als YARA-Signaturen in die angegebene Datei
  • fnxrefs = analysiert ein Programm und exportiert eine Liste von Funktionen basierend auf der Einsprungadresse, die Querverweise in Daten oder anderen Teilen des Programms haben

Ein einfaches Shell-Startskript namens kaijuRun wurde hinzugefügt, um diese Headless-Befehle für einfache Szenarien auszuführen, wie z. B. die Ausgabe der Funktions-Hashes für jede Funktion in einer einzelnen ausführbaren Datei. Angenommen, die Variable GHIDRA_INSTALL_DIR ist gesetzt, könnte man zum Beispiel das Startskript auf einer einzelnen ausführbaren Datei wie folgt ausführen:

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

Dieser Befehl würde die Ergebnisse in eine automatisch benannte Datei als example.exe.Hashes.csv ausgeben.

Grundlegende Hilfe für das Skript kaijuRun ist verfügbar durch Ausführen von:

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

Bitte lesen Sie die Datei docs/HeadlessKaiju.md im Repository für weitere Informationen zur Verwendung dieses Modus und des Startskripts kaijuRun.

Weitere Dokumentation und Hilfe

Eine umfassendere Dokumentation und Hilfe ist in einem von zwei Formaten verfügbar.

Siehe das Verzeichnis docs/ für die im Markdown-Format formatierte Dokumentation und Hilfe für alle Kaiju-Werkzeuge und -Komponenten. Diese Dokumente sind einfach zu pflegen, zu bearbeiten und auch von der Befehlszeile aus zu lesen.

Alternativ finden Sie dieselbe Dokumentation im integrierten Hilfesystem von Ghidra. Um auf diese Hilfedokumente zuzugreifen, gehen Sie im Ghidra-Menü zu Hilfe > Inhalt und wählen Sie dann CERT Kaiju in der Baumnavigation auf der linken Seite des Hilfefensters.

Bitte beachten Sie, dass die Ghidra-Hilfedokumentation denselben Inhalt wie die Markdown-Dateien im Verzeichnis docs/ enthält; dank eines im Baum enthaltenen Gradle-Plugins parst Gradle automatisch das Markdown und exportiert es während des Build-Prozesses in Ghidra-HTML. Dies ermöglicht eine noch einfachere Wartung (Aktualisierung der Dokumente an nur einer Stelle, nicht zwei) und hält beide synchron.

Alle neue Dokumentation sollte dem Verzeichnis docs/ hinzugefügt werden.

Lizenzierung

Diese Software ist unter einer vereinfachten BSD-ähnlichen Lizenz des Software Engineering Institute der Carnegie Mellon University lizenziert. Die vollständigen Details dieser Lizenz sowie die Lizenzbedingungen der in diesem Projekt verwendeten Abhängigkeiten finden Sie in der Datei LICENSE.md im Stammverzeichnis dieses Repositorys.

Das CERT Kaiju-Logo basiert auf Kunst von Cameron Spahn, ursprünglich veröffentlicht unter den Bedingungen der Creative Commons Attribution-Share Alike 4.0 International Lizenz.

Tool herunterladen