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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ghidra — Ghidraは、ソフトウェアリバースエンジニアリング(SRE)フレームワークです。 | Kitploit
ツール/GitHubGitHub/nationalsecurityagency/ghidra
Androidセキュリティ組み込みシステムセキュリティ静的分析動的分析 (サンドボックス)エクスプロイトフレームワークメモリフォレンジック脆弱性分析コード分析モバイルアプリペンテストリバースエンジニアリングスクリプトと自動化デバッガ
71.1k7.8k2113時間55分前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
マルウェア分析
CTF
モバイルセキュリティ
バイナリ解析
学習と教育
AI支援リバースエンジニアリング
ファームウェア解析
バイナリエクスプロイト
AI支援リバースエンジニアリング 第5位
Androidセキュリティ 第15位
バイナリ解析 第1位
バイナリエクスプロイト 第8位
コード分析 第5位
CTF 第13位
デバッガ 第8位
動的分析 (サンドボックス) 第18位
組み込みシステムセキュリティ 第8位
ファームウェア解析 第8位
マルウェア分析 第7位
メモリフォレンジック 第18位
モバイルアプリペンテスト 第18位
モバイルセキュリティ 第18位
リバースエンジニアリング 第1位
静的分析 第1位
GitHubnationalsecurityagency/ghidra

ghidra

Ghidraは、ソフトウェアリバースエンジニアリング(SRE)フレームワークです。

リポジトリを見るウェブサイト

Dockerized Ghidra

ビルド

Ghidra リリースのルートディレクトリから、以下のコマンドを実行します。

root@kitploit:~
./docker/build-docker-image.sh

これにより、Ghidra のリリースバージョンに対応するタグを持つ ghidra Docker イメージがビルドされます。

MODE 環境変数

Ghidra Docker コンテナは、以下の MODE の実行をサポートしています:

  • gui
  • headless
  • ghidra-server
  • bsim
  • bsim-server
  • pyghidra

MODE 環境変数は、実行する Ghidra のエントリポイントを指定します。

コンテナ起動時に entrypoint.sh スクリプトが実行されます。

コンテナの設定

コンテナの設定は、他の Docker コンテナと同様に行います。 ボリュームのマウント、環境変数の設定、ポートのコンテナからホストへのマッピングなどが可能です。 設定手順は、コンテナを起動する MODE によって大きく異なります。

コンテナ内の Ghidra のベースディレクトリは /ghidra にあります。 ファイル、設定などの Ghidra のデフォルトの場所はすべてその中にあります。 Ghidra はコンテナ内でユーザー ghidra(uid 1001、guid 1001)として実行されます。

ghidra ユーザーは、コンテナ内の以下のディレクトリにのみアクセス権限があります:

  • /ghidra
  • /home/ghidra

docker run コマンドで引数が渡されない場合、実行される MODE に対応するコマンドラインインターフェース(CLI)が使用法を表示します。

ローカルボリュームのコンテナへのマッピング

コンテナ内のボリュームは、グループ ID 1001 のユーザーがアクセスできない場合、権限の問題が発生する可能性があります。

コンテナのデフォルトの uid と guid は 1001:1001 です。コンテナにマッピングされるボリュームは、この uid/guid がアクセス可能である必要があります。

ホストマシンのユーザーをホストのグループ 1001 に追加すると、コンテナで使用されるボリュームの管理に役立ちます。 これは Linux で sudo usermod -aG 1001 <user> を実行することで簡単に行えます。

ヘッドレスモードの例

root@kitploit:~
docker run \
    --env MODE=headless \
    --rm \
    --volume /path/to/myproject:/home/ghidra/myproject \
    --volume /path/to/mybinary:/home/ghidra/mybinary \
    ghidra/ghidra:<version> \
    /home/ghidra/myproject programFolder -import /home/ghidra/mybinary

これを一行ずつ分解すると:

  • docker run は、イメージ ghidra/ghidra<:<version> を使用して docker コンテナを起動します
  • --env MODE=headless は、コンテナ内の環境変数 MODE を値 headless に設定します
  • --rm はコマンド完了後にコンテナを削除します
  • --volume /path/to/myproject:/home/ghidra/myproject は、ホスト上のローカルボリューム /path/to/myproject をコンテナ内の /home/ghidra/myproject にマウントします
  • --volume /path/to/mybinary:/home/ghidra/mybinary は、ホスト上のローカルボリューム /path/to/mybinary をコンテナ内の /home/ghidra/mybinary にマウントします
  • ghidra/ghidra:<version> は Docker イメージの完全な参照であり、 はイメージのグループと名前、 はタグです。

引数が渡されない場合、ヘッドレスアナライザの使用法が表示されます。

ホスト上の /path/to/myproject は、guid 1001 が rwx パーミッションでアクセス可能である必要があります。

GUI モードの例

Docker コンテナ内で Ghidra のグラフィカルユーザーインターフェース(GUI)を実行することは、推奨される Ghidra の実行方法ではありません。 GUI は Docker 化されたアプリケーションの典型的なユースケースではありません。

root@kitploit:~
docker run \
    --env MODE=gui \
    -it \
    --rm \
    --net host \
    --env DISPLAY \
    --volume "$HOME/.Xauthority:/home/ghidra/.Xauthority" \
    ghidra/ghidra:<version>

このモードでは、コンテナは X11 転送に依存して GUI を表示します。X11 の設定は異なる場合がありますが、この場合、 ホストの Xauthority ファイルがコンテナにマウントされ、コンテナはホストのネットワークを使用するように設定され、DISPLAY 環境変数がコンテナに渡されます。これにより、GUI をホストマシンのディスプレイに転送できます。バイナリを含むボリュームや ghidra プロジェクト用のボリュームも コンテナにマウントする必要があります。

ホストの .Xauthority ファイルは適切なパーミッション(グループ :1001 に rw グループパーミッションを割り当て)を持っている必要があります。

Ghidra サーバーモードの例

root@kitploit:~
docker run \
    --env MODE=ghidra-server \
    --rm \
    -it \
    --volume /path/to/my/repositories:/ghidra/repositories \
    --volume /path/to/my/configs/server.conf:/ghidra/server/server.conf \
    -p 13100:13100 \
    -p 13101:13101 \
    -p 13102:13102 \
    ghidra/ghidra:<version>

リポジトリやユーザーを保存し、サーバーを設定するために、サーバーコンテナにボリュームをマウントする必要があります。

svrAdmin を使用するには、実行中の ghidra サーバーコンテナに exec して(docker exec -it <container-id> bash)コンテナ内で bash シェルを取得します。 コンテナに exec した後、Ghidra サーバーの管理と運用は、コンテナ化されていない環境と同じです。

コンテナを停止するには、docker stop <container-id> コマンドを実行します。

注: ホストから Docker コンテナにマップするポートは一致している必要があります。server.conf ファイル内で -p<port> オプションを使用して、デフォルトのベースサーバーポート(例: 13100)を変更できます。

BSIM サーバーモードの例

root@kitploit:~
docker run \
    --env MODE=bsim-server \
    --rm \
    -it \
    --volume /path/to/my/datadir:/ghidra/bsim_datadir \
    -p 5432:5432 \
    ghidra/ghidra:<version> \
    /ghidra/bsim_datadir

/ghidra/bsim_datadir は、コンテナ内で bsim のデータを保存するために使用されるディレクトリです。コンテナ上で他のディレクトリを使用することもできますが、 ホストマシン上のフォルダが適切なパーミッション(グループ :1001 に割り当て)を持っていることを確認してください。

この例では、単に bsim サーバーを起動します。bsim サーバーの設定とデータの投入は、起動後にコンテナ内で ghidra サーバーの管理と同様の方法で行うことができます。 管理者は実行中の bsim サーバーコンテナに exec し(docker exec -it <container-id> bash)、 コンテナに exec した後、Bsim サーバーの管理と運用はコンテナ化されていない環境と同じです。

コンテナを停止するには、docker stop <container-id> コマンドを実行します。

BSIM CLI モードの例

root@kitploit:~
docker run \
		--env MODE=bsim \
		--rm \
		 -it \
		 ghidra/ghidra:<version> \
		 generatesigs ghidra://ghidrasvr/demo /home/ghidra \
			 --bsim postgresql://bsimsvr/demo \
			 --commit --overwrite \
			 --user ghidra

この例では、bsim CLI を使用して ghidrasvr でホストされている ghidra サーバーに接続し、 その ghidra サーバーの demo リポジトリのシグネチャを生成して /home/ghidra に保存し、 その後、bsimsvr でホストされている BSIM サーバーの demo データベースにシグネチャをコミットします。

Pyghidra GUI モードの例

Docker コンテナ内で Ghidra のグラフィカルユーザーインターフェース(GUI)を実行することは、推奨される Ghidra の実行方法ではありません。 GUI は Docker 化されたアプリケーションの典型的なユースケースではありません。

root@kitploit:~
docker run \
    --env MODE=pyghidra \
    -it \
    --rm \
    --net host \
    --env DISPLAY \
    --volume="$HOME/.Xauthority:/home/ghidra/.Xauthority:rw" \
    ghidra/ghidra:<version> -c

このモードでは、コンテナは X11 転送に依存して GUI を表示します。X11 の設定は異なる場合がありますが、この場合、 ホストの Xauthority ファイルがコンテナにマウントされ、コンテナはホストのネットワークを使用するように設定され、DISPLAY 環境変数がコンテナに渡されます。これにより、GUI をホストマシンのディスプレイに転送できます。バイナリを含むボリュームや ghidra プロジェクト用のボリュームも コンテナにマウントする必要があります。

ホストの .Xauthority ファイルは適切なパーミッション(:1001 が所有し、rw グループパーミッション)を持っている必要があります。

Pyghidra ヘッドレスモードの例

root@kitploit:~
docker run \
    --env MODE=pyghidra \
    --rm \
    --volume /path/to/myproject:/myproject \
    --volume /path/to/mybinary:/mybinary \
    ghidra/ghidra:<version> -H \
    /myproject programFolder -import /mybinary

pyghidra ヘッドレスアナライザに引数が渡されない場合、ヘッドレスアナライザと同様にヘルプメニューが表示されます。

このユースケースはヘッドレスモードの例と非常に似ていますが、Ghidra スクリプトに python3 を利用できるという利点があります。

繰り返しになりますが、この例では、権限の問題を回避するために、/path/to/myproject と /path/to/mybinary に適切なパーミッションとグループ割り当てが必要です。

ツールをダウンロード
ghidra/ghidra
<version>
  • /home/ghidra/myproject programFolder -import /home/ghidra/mybinary は、Ghidra のヘッドレスアナライザのコマンドラインインターフェースに渡される引数です。