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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CaptainHook | Kitploit
ツール/GitHubGitHub/synacktiv/captainhook
動的分析 (サンドボックス)脆弱性分析コード分析デバッガバイナリ解析
GitHubsynacktiv/captainhook

CaptainHook

リポジトリを見る
924年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

Captain Hook

これは何ですか?

このツールの目的は、ユーザー入力をトレースし、機密性の高いメソッド(java.lang.Runtime.exec、java.sql.Statement.executeQuery など)へのインジェクションポイントと、インジェクションポイントからメソッド呼び出しまでの間におけるこれらの入力の変異を特定することです。

アプリのあらゆるユーザー入力に挿入する必要がある「マーク」が生成されます。マークが異なることで、アラートの発信元を特定できます。

監視対象メソッドの一覧は、CLI の > list_breakpoints コマンドで確認できます。この一覧は > add_breakpoint および > delete_breakpoint コマンドで変更できます。

アーキテクチャ

root@kitploit:~
            Captain Hook Docker                                   Main machine
                container
 ┌────────────────────────────────────────┐             ┌────────────────────────────────────────┐
 │                                        │             │                                        │
 │ ┌─────────────────┐ ┌────────────────┐ │             │          ┌──────────────────────────┐  │
 │ │                 │ │                │ │             │          │                          │  │
 │ │ ┌────┐          │ │  Java Debugger │ │             │          │                          │  │
 │ │ │    │ Python   │ │                ├─┼─────────────┼──────────►                          │  │
 │ │ │    │    +     │ │                │ │             │          │      Program being       │  │
 │ │ │    │  Frida   │ │                │ │             │          │        analyzed          │  │
 │ │ │    │          │ │    JDWP     │ │             │          │                          │  │
 │ │ │    │          ◄─┤                │ │             │          │                          │  │
 │ │ │    │          │ │                │ │             │          │                          │  │
 │ │ │CLI │          ├─►                │ │             │          │                          │  │
 │ │ │    │          │ │                │ │             │          │                          │  │
 │ │ │    │          │ └────────────────┘ │             │          │                          │  │
 │ │ │    │          │                    │             │          │                          │  │
 │ │ │    │          │                    │             │ ┌──────┐ │                          │  │
 │ │ │    │          ├────────────────────┼─────────────┤►│frida-├─►                          │  │
 │ │ │    │          │                    │             │ │server◄─┤                          │  │
 │ │ └────┘          │                    │             │ │      │ └──────────────────────────┘  │
 │ │                 │◄───────────────────┼─────────────┼─┤      │                               │
 │ └─────────────────┘                    │             │ └──────┘                               │
 │                                        │             │                                        │
 └────────────────────────────────────────┘             └────────────────────────────────────────┘

Captain Hook の起動方法

解析対象プログラム側

その JVM は次のオプションを指定して起動する必要があります:

  • -Xdebug
  • -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n
  • -Xint

もちろん、リッスンポート(上記の例では 1000)は任意であり、変更できます。

可能であれば、解析対象のプログラムが置かれているマシンに frida-server をインストールし、次のコマンドで起動してください: # frida-server -l 0.0.0.0:1500 &

リッスンポート/アドレスも、必要に応じて変更できます。

Captain Hook 側

./dbg にある Dockerfile の末尾で、「host」(解析対象のプログラムを実行しているマシン)の IP アドレス、JDWP のリッスンポート、Frida のリッスンポート(frida-server が利用できない場合は 0)を設定します。

次に # make build、続いて # make run-dbg を実行します。# docker exec -it $(docker ps -lq) bash で、このコンテナに 2 番目のターミナルを接続します。

最初のターミナルで cd debugger && make debug を実行し、次に 2 番目のターミナルで cd frida && make instrument を実行します。

2 番目のターミナルを通じて Captain Hook と対話します。そこには CLI が表示されます。> help と入力すると、すべてドキュメント化された利用可能なコマンドの完全な一覧が表示されます。

## 実験的機能

「agent」フォルダは純粋に実験的なものであり、> set_object_inspection_strategy コマンドも同様です。

ツールをダウンロード