Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kaiju — CERT Kaijuは、Ghidraソフトウェアリバースエンジニアリングスイート向けのバイナリ解析フレームワーク拡張機能です。このリポジトリは「ミラー」です -- チケット、バグ報告、プルリクエストは@CERTCCの上流ホームページ(https://github.com/certcc/kaiju)に提出してください。 | Kitploit
ツール/GitHubGitHub/cmu-sei/kaiju
静的分析リバースエンジニアリングマルウェア分析バイナリ解析ファームウェア解析
GitHubcmu-sei/kaiju

kaiju

CERT Kaijuは、Ghidraソフトウェアリバースエンジニアリングスイート向けのバイナリ解析フレームワーク拡張機能です。このリポジトリは「ミラー」です -- チケット、バグ報告、プルリクエストは@CERTCCの上流ホームページ(https://github.com/certcc/kaiju)に提出してください。

リポジトリを見る
1443936ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
ウェブサイト
共有

Dynamic YAML Badge release_on_tag Badge run_tests_on_push_pr Badge

CERT Kaiju バイナリ分析フレームワーク for GHIDRA

CERT Kaiju は、Ghidra 向けのバイナリ分析ツールのコレクションです。

これは、CERT Pharos Binary Analysis Framework の一部機能(特に関数ハッシュおよびマルウェア分析ツール)の Ghidra/Java 実装ですが、将来的に新しいツールや機能が追加される予定です。

本実装は新しい取り組みであるため、ROSE ベースの元の C++ 実装と完全な機能互換性はまだありません。しかし、Java と Ghidra への移行により、元のフレームワークでは利用できなかった新しい機能(特に非 x86 アーキテクチャの処理改善)が実際に可能になりました。

フレームワークとツールの大幅な再設計が行われており、Java と Ghidra への移行により C++ 実装とは異なる機能が可能になるため、異なるツールや機能について議論する際に実装間の混乱を減らすために、新しいブランドを採用することが決定されました。

近い将来、両方の実装が独自の機能を提供できるため、元の Pharos フレームワークと Kaiju の両方を並行して維持する予定です。

CAVEAT: プロトタイプであるため、このプラグインが生成する関数ハッシュを評価する際に多くの問題が発生する可能性があります。例えば、Pharos 実装とは異なり、Kaiju の関数ハッシュモジュールは非常に小さな関数(例:RET のような単一命令を持つ関数。これにより意図しない衝突が多数発生します)に対してもハッシュを生成します。そのため、分析結果はこのプラグインと Pharos fn2hash の間で異なる場合があります。

インストール

事前ビルド済み Kaiju パッケージが利用可能です。ご利用の Ghidra バージョンに対応する ZIP ファイルをダウンロードし、以下の手順に従ってインストールしてください。Ghidra のグラフィカルインターフェースからインストールすることを推奨しますが、適切なディレクトリに手動で解凍してインストールすることも可能です。

CERT Kaiju には以下の実行時依存関係が必要です:

  • 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(古い Ghidra リリースでは 17)
  • Z3(Z3 Java バインディング .jar を含む)

Z3 は事前ビルド済みパッケージにコンパイル済みの状態で提供されます。また、自分で Z3 をビルドするか、Linux ディストリビューションのパッケージを使用することもできます。

グラフィカルインストール

Ghidra を起動し、開いたウィンドウでメニューから File > Install Extension を選択します。拡張機能ウィンドウの上部にあるプラス記号をクリックし、ファイルブラウザで .zip ファイルを選択して OK をクリックします。拡張機能がインストールされ、ウィンドウ内の拡張機能名の横にチェックボックスが表示され、インストール完了と準備完了が示されます。

インターフェースは、拡張機能の使用を開始するために Ghidra を再起動するよう求めます。再起動するだけで、Kaiju の追加機能がインタラクティブに(スクリプトでも)利用可能になります。

一部の機能では、Kaiju プラグインを有効にする必要がある場合があります。これを行うには、Code Browser を開き、File > Configure メニューに移動します。表示されたウィンドウで、"CERT Kaiju" カテゴリアイコンの下にある Configure リンクをクリックします。ポップアップに、公開されているすべての Kaiju プラグインが表示されます。有効にしたいプラグインをチェックし、OK をクリックします。これでインタラクティブなプラグイン機能にアクセスできるようになります。

プラグインを有効にしてもすぐに表示されない場合は、Code Browser の Window メニューからそのプラグインを見つけることができます。

将来のツールの実験的な "alpha" バージョンは、"Experimental" カテゴリから入手できる場合があります(テスト目的の場合)。ただし、これらのプラグインは明らかに実験的でありサポート対象外で、実運用での使用は推奨されません。ただし、早期のフィードバックは歓迎します。

手動インストール

Kaiju のような Ghidra 拡張機能は、拡張機能の内容を Ghidra インストールの適切なディレクトリに解凍して手動でインストールすることもできます。詳細については、The Ghidra Installation Guide を参照してください。

自分でビルドする

Kaiju 拡張機能はソースコードから直接ビルドすることもできます。詳細は、Kaiju ソースディレクトリの最上位にある INSTALL.md ファイルを参照してください。

使用方法

Kaiju のツールは、インタラクティブなグラフィカルモード、またはバッチジョブに適した "ヘッドレス" モードのいずれかで使用できます。一部のツールは、その性質上、グラフィカルまたはヘッドレスのみで使用できる場合があります。

インタラクティブなグラフィカルインターフェース

Kaiju は、Java Swing と Ghidra のプラグインアーキテクチャを利用して、Ghidra 内にインタラクティブなグラフィカルインターフェース(GUI)を作成します。

Kaiju のツールのほとんどは、"Auto Analysis" オプションが選択されたとき(新しい実行可能ファイルのインポート時、またはコードブラウザウィンドウから直接 Analysis > Auto Analyze... を選択したとき)に自動的に実行される Analysis プラグインです。Auto Analyze ツールではデフォルトでいくつかの CERT Analysis プラグインが選択されていますが、必要に応じて有効/無効を切り替えることができます。

ただし、各種 GUI ツールが機能するためには、Analysis ツールを事前に実行しておく必要があります。一部の境界ケースでは、Auto Analysis を 2 回実行すると、正しいパーティショニングと逆アセンブリ情報を作成するために必要なメタデータがすべて生成され、ハッシュ結果に影響を与える可能性があります。

Analyzer は Ghidra の分析フェーズ中に自動的に実行され、以下を含みます:

  • DisasmImprovements = 標準の Ghidra パーティショニングと比較して、逆アセンブリの関数パーティショニングを改善します。
  • Fn2Hash = プログラム内のすべての関数の関数ハッシュを計算し、プログラムの YARA シグネチャを生成するために使用されます。

GUI ツールには以下が含まれます:

  • GhiHorn = Z3 を利用して制御フローグラフ内のパスと到達可能性を計算するプラグイン。
    • Ghidra の CodeBrowser から Kaiju > GhiHorn を選択してこのツールにアクセスします。CTRL-G を押してプラグインを起動することもできます。
  • Function Hash Viewer = プログラム内の関数のインタラクティブなリストといくつかの種類のハッシュを表示するプラグイン。アナリストはこれを使用して、プログラムから 1 つ以上の関数を YARA シグネチャにエクスポートできます。
    • メニューから Window > CERT Kaiju Function Hash Viewer を選択して開始します(まだ表示されていない場合)。新しいウィンドウが表示され、ハッシュやその他のデータのテーブルが表示されます。ウィンドウ上部のボタンでテーブルを更新したり、データをファイルや YARA シグネチャにエクスポートできます。このウィンドウは、他のプラグインと併用しやすいようにメインの Ghidra CodeBrowser にドッキングすることもできます。より詳細な使用ドキュメントは、ツール使用時に Ghidra の Help > Contents メニューにあります。
  • OOAnalyzer JSON Importer = Pharos が生成した OOAnalyzer の結果をロード、解析し、Ghidra プロジェクト内のオブジェクト指向 C++ 実行可能ファイルに適用できるプラグイン。起動すると、OOAnalyzer が生成した JSON 出力ファイル(回復された C++ クラスに関する情報を含む)の場所をユーザーに求めます。JSON ファイルをロードした後、OOAnalyzer によって発見された回復済み C++ データ型とシンボルが Ghidra Code Browser で更新されます。プラグインの設計と実装の詳細は、SEI ブログ記事 Using OOAnalyzer to Reverse Engineer Object Oriented Code with Ghidra に記載されています。
    • メニューから Kaiju > OOAnalyzer Importer を選択して開始します。簡単なダイアログポップアップが表示され、インポートする JSON ファイルの場所を指定します。より詳細な使用ドキュメントは、ツール使用時に Ghidra の Help > Contents メニューにあります。

コマンドライン "ヘッドレス" モード

Ghidra は "ヘッドレス" モードもサポートしており、状況によってはインタラクティブな GUI なしでツールを実行できます。これらのコマンドは、多数のファイルに対するスクリプティングや "バッチモード" のジョブに利用できます。

ヘッドレスツールは主に Ghidra の GhidraScript 機能に依存しています。

ヘッドレスツールには以下が含まれます:

  • fn2hash = 指定されたプログラムで Fn2Hash を自動実行し、すべてのハッシュを指定された CSV ファイルにエクスポートします。
  • fn2yara = 指定されたプログラムで Fn2Hash を自動実行し、すべてのハッシュデータを YARA シグネチャとして指定されたファイルにエクスポートします。
  • fnxrefs = プログラムを分析し、データやプログラムの他の部分に相互参照がある関数のリストをエントリポイントアドレスに基づいてエクスポートします。

kaijuRun という名前のシンプルなシェル起動スクリプトが含まれており、単一の実行可能ファイル内のすべての関数の関数ハッシュを出力するような単純なシナリオでこれらのヘッドレスコマンドを実行できます。GHIDRA_INSTALL_DIR 変数が設定されていることを前提として、例えば次のようにして単一の実行可能ファイルで起動スクリプトを実行できます:

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

このコマンドは、結果を自動的に example.exe.Hashes.csv という名前のファイルに出力します。

kaijuRun スクリプトの基本的なヘルプは、以下を実行することで表示できます:

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

このモードと kaijuRun ランチャースクリプトの詳細については、リポジトリ内の docs/HeadlessKaiju.md ファイルを参照してください。

その他のドキュメントとヘルプ

より包括的なドキュメントとヘルプは、次のいずれかの形式で利用できます。

docs/ ディレクトリには、すべての Kaiju ツールとコンポーネントの Markdown 形式のドキュメントとヘルプがあります。これらのドキュメントは、メンテナンスや編集が容易で、コマンドラインからも読みやすいです。

または、同じドキュメントが Ghidra の組み込みヘルプシステムにもあります。これらのヘルプドキュメントにアクセスするには、Ghidra メニューから Help > Contents に移動し、ヘルプウィンドウの左側にあるツリーナビゲーションから CERT Kaiju を選択してください。

Ghidra ヘルプのドキュメントは docs/ ディレクトリの Markdown ファイルとまったく同じ内容であることに注意してください。ツリー内の gradle プラグインのおかげで、gradle はビルドプロセス中に Markdown を自動的に解析し、Ghidra HTML にエクスポートします。これにより、メンテナンスがさらに簡単になり(ドキュメントを 1 か所だけで更新でき、2 か所ではない)、両者の同期が維持されます。

新しいドキュメントはすべて docs/ ディレクトリに追加する必要があります。

ライセンス

本ソフトウェアは、カーネギーメロン大学ソフトウェアエンジニアリング研究所により、簡略化された BSD スタイルのライセンスの下で提供されています。このライセンスの詳細、および本プロジェクトで使用される依存関係のライセンス条件については、このリポジトリのルートにある LICENSE.md ファイルを参照してください。

CERT Kaiju のロゴは、Cameron Spahn によって作成されたアートに基づいており、元々はクリエイティブ・コモンズ 表示-継承 4.0 国際ライセンスの条件の下でリリースされました。

ツールをダウンロード