Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
apk-interceptor — 倫理的ハッキング向けのAndroidディープリンク、Intent、WebViewブリッジ評価支援ツール | Kitploit
ツール/GitHubGitHub/sterrasec/apk-interceptor
Androidセキュリティ脆弱性分析モバイルアプリペンテストウェブアプリケーション悪用情報収集ペネトレーションテスト
GitHubsterrasec/apk-interceptor

apk-interceptor

倫理的ハッキング向けのAndroidディープリンク、Intent、WebViewブリッジ評価支援ツール

リポジトリを見る
91183ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

apk-interceptor

Build Check

Android deeplink、Intent、WebViewブリッジの評価支援ツール

apk-interceptorは、許可されたアプリケーションセキュリティ評価のためのポータブルなAndroidテストAPKです。セキュリティエンジニアが、AndroidアプリがカスタムURIスキーム、ディープリンク、エクスポートされたActivity、WebView JavaScriptブリッジなどの外部エントリポイントをどのように処理するかを検証するのに役立ちます。

このツールは意図的に制約されています:

  • android.permission.INTERNET を宣言しません
  • 外部サーバーにデータを送信しません
  • シェルコマンドを実行しません
  • root、Magisk、Frida、またはランタイムインストルメンテーションを必要としません
  • ローカルの content:// ペイロードファイルを1つだけ配信します
  • ビルド時に固定された1つのカスタムURIスキームを登録します

動機

Androidアプリケーションのセキュリティ評価中、静的解析による多くの発見事項は、確認される前にデバイス上での小さな概念実証(PoC)が必要です:カスタムURIスキームの登録、明示的インテントの送信、ローカル content:// ペイロードの配信、またはJavaScriptがWebViewブリッジに到達できるかどうかの確認などです。

ケースごとに新しい使い捨てテストアプリを構築するのは反復的でエラーが発生しやすい作業です。マニフェストエントリ、オーソリティ、URI許可、パッケージ名、またはインテント構築のわずかな違いが検証を遅らせ、結果の再現を難しくする可能性があります。

apk-interceptorは、その確認ステップを再現可能にするために作成されました。評価のたびに新しいPoC APKを書く代わりに、必要な許可されたスキームまたはアプリケーションIDでこのツールをビルドし、デバイス上でテストを実行し、設計上制約されたワークフローを維持します:INTERNET権限なし、外部データ送信なし、シェル実行なし、root依存なし。

テストできること

apk-interceptorは以下の評価タスクに役立ちます:

シナリオモジュール検証に役立つ内容
カスタムURIスキームの乗っ取りInterceptor別のアプリが同じカスタムスキームを登録してリンクを受信できるかどうか
ディープリンクパラメータの処理Sender評価対象アプリが安全でないクエリ/パスパラメータを受け入れるかどうか
エクスポートされたActivityの露出SenderエクスポートされたActivityが別のアプリから直接起動できるかどうか
content:// を介したWebViewブリッジの露出Payload + SenderローカルのHTMLペイロードがWebView JavaScriptブリッジに到達できるかどうか
ローカルペイロードの構文チェックPayloadHTML/JSペイロードがセルフテストWebViewで実行されるかどうか

詳細な脆弱性ウォークスルー:

  • カスタムURIスキームの乗っ取り
  • ディープリンクのオープンリダイレクト
  • 信頼できないインテントデータを持つエクスポートされたActivity
  • content:// を介したWebView JavaScriptブリッジの露出

アプリは、送信したインテント、受信したディープリンク、ブリッジコールバック、JavaScriptの結果、およびエラーのインメモリ評価ログを保持します。アプリのプロセスが終了するとログは消えます。ログは永続化されないため、作業中にスクリーンショットや画面録画で証拠を記録してください。

他のツールとの比較

apk-interceptorは**確認(confirmation)**ツールであり、発見(discovery)や悪用(exploitation)のフレームワークではありません。静的解析からテスト対象(スキーム、Activityクラス、ブリッジ名)をすでに把握していることを前提とし、到達可能性を検証して証拠を記録するための安全なオンデバイス手段を提供します。評価デバイスにインストールし、クライアントと共有することも想定して構築されているため、INTERNET権限、シェル実行、データ外部送信、root要件は一切含まれていません。

一般的なAndroidツール群との位置づけは以下のとおりです:

ツール役割apk-interceptorとの違い
jadx / MobSF / QARK / Semgrep脆弱なエントリポイントを(静的に)発見するapk-interceptorはスキャンや逆コンパイルを行いません。すでにある発見事項を確認します
deep-C / NSdeepLink / adb am startディープリンクを列挙・送信するapk-interceptorも送信できますが、差別化点は乗っ取ったスキームを受信して正確なURIとパラメータを表示することです
drozer汎用オンデバイス攻撃フレームワーク(エージェント+多くの場合root)apk-interceptorは意図的な安全ガードレールを備えた単一の軽量APKで、範囲がより狭く、クライアントに安全に配布しやすいです
Metasploit / Frida武器化またはフッキング(例:addJavascriptInterface RCE)apk-interceptorは無害なペイロードでブリッジの到達可能性を確認するだけです。データを外部送信したり、シェルコマンドを実行したりすることは決してありません

apk-interceptorが代替ツールに対して最も明確な優位性を持つ2つの領域:

  • スキーム乗っ取りの証拠:実際にスキームを登録する2番目のアプリとして動作し、受信したすべてのパラメータをログに記録します。これは adb/静的解析では示せないものです。
  • content:// → WebViewブリッジの検証:非エクスポートの単一ファイルプロバイダで、ペイロードは一時的なインテント読み取り許可を通じてのみ配信され、さらにペイロードの構文を先に検証するローカルセルフテストWebViewを備えています。

送信とインターセプト

apk-interceptorは送信とインターセプトを別物として扱います。これは使用前に理解すべき最も重要な点です:

アクションモジュールビルド時にカスタムスキームが必要?
別のアプリにインテントまたはディープリンクを送信するSenderいいえ、実行時に任意のURI、パッケージ、またはActivityを入力します
カスタムスキームのディープリンクをインターセプト(受信)するInterceptorはい、ビルド時にスキームがAPKに固定されます

評価対象アプリに細工したディープリンクを送信する場合、再ビルドは不要です。Senderタブの**暗黙的ディープリンク(Implicit Deeplink)**モードを使用して任意のURIを入力してください。

ディープリンクをインターセプトする場合、つまりAndroidがカスタムスキームをapk-interceptorにルーティングさせて潜在的なスキーム乗っ取りを観察できるようにするには、--scheme でそのスキームを指定してAPKをビルドする必要があります。スキームは意図的にビルド時に固定されます(設計上のガードレール)。apk-interceptorは実行時に任意のスキームを登録することは決してありません。評価対象のスキームを変更する場合は、再ビルドして再インストールしてください。

要件

  • Android SDK 35を備えたAndroid Studio
  • Android 12以上のデバイスまたはエミュレータ
  • JDK 17以上
  • デバイスへのインストールと任意のコマンドラインテスト用の adb

ビルドとインストール

評価を許可されたカスタムURIスキームを指定してAPKをビルドします:

./build-interceptor.sh --scheme <authorized_custom_scheme>
adb install ./out/apk-interceptor-<authorized_custom_scheme>-debug.apk

オプションのビルドフラグ:

./build-interceptor.sh \
  --scheme <authorized_custom_scheme> \
  --app-id <custom.application.id> \
  --output ./out

--app-id はビルド時にインストールされるアプリケーションID(デバイス上のパッケージIDと content://<applicationId>.payload オーソリティ)を設定します。デフォルトは com.sterrasec.apkinterceptor です。異なる評価用に複数の個別インストール可能なビルドが必要な場合は、--app-id で上書きしてください。Windowsでは build-interceptor.bat が相当します。

デフォルトのスキーム intercept-poc-example は無害なプレースホルダです。ビルドスクリプトはこのデフォルトスキームで評価用APKを生成することを拒否します。

初回起動

各アプリバージョンの初回起動時に、apk-interceptorは許可された使用に関するダイアログを表示します。**理解しました(I understand)**をタップすると、同じバージョンでは再度ダイアログは表示されません。Senderタブには、他のアプリにインテントを送信できるため、常時警告が表示されます。

許可された使用ダイアログ

スクリーンショット

SenderPayloadInterceptor
SenderタブPayloadタブInterceptorタブ

アプリモジュール

Interceptor

このタブは、カスタムURIスキームのインターセプトを検証するために使用します。

表示される内容:

  • このAPKにコンパイルされたスキーム
  • ダミーのデフォルトスキームがまだ使用されている場合の警告
  • 受信したディープリンクログ
  • テストクエリパラメータフィールド
  • テストディープリンクを送信(Send Test Deeplink)
  • クリア(Clear)

基本的なワークフロー:

  1. 評価対象のカスタムスキームでAPKをビルドします。
  2. 評価対象アプリと一緒にインストールします。
  3. 評価フロー、ブラウザ、adb、または内蔵の**テストディープリンクを送信(Send Test Deeplink)**ボタンから、そのスキームのディープリンクをトリガーします。
  4. Androidがリンクをapk-interceptorにルーティングした場合は、Interceptorタブを開いて受信したURIとクエリパラメータを確認します。

**テストディープリンクを送信(Send Test Deeplink)について:これは常に固定の test ホストで <scheme>://test?<your params> を送信します。したがって、評価対象アプリの特定のディープリンクルートを駆動するためではなく、apk-interceptorがスキームを受信してログに記録することを確認するためのものです。評価対象アプリの必要なホストまたはパスに一致する細工したディープリンクを送信するには、代わりにSenderタブの暗黙的ディープリンク(Implicit Deeplink)**モードを使用してください。

adbの例:

adb shell am start -W \
  -a android.intent.action.VIEW \
  -d 'my-authorized-scheme://test?source=adb\&message=hello%20world'

adb shell で複数のクエリパラメータを送信する場合は \& を使用してください。そうしないと、デバイスのシェルが & をコマンド区切り文字として扱う可能性があります。

期待される結果:

  • apk-interceptorがInterceptorタブで開く
  • RECEIVED ログエントリが表示される
  • ログエントリをタップすると、完全なURIとパラメータリストが展開される

Sender

このタブは、許可されたテスト中に制御されたインテントを送信するために使用します。

モード:

  • 暗黙的ディープリンク(Implicit Deeplink):Intent(ACTION_VIEW, Uri.parse(uri)) を送信します
  • 明示的Activity(Explicit Activity):特定のパッケージとActivityクラスにインテントを送信します

フィールドとコントロール:

  • 暗黙的ディープリンクモード用のURI
  • 明示的Activityモード用のパッケージ名
  • 明示的Activityモード用のActivityクラス
  • ローカルペイロードURIをインテントデータとして設定するcontent:// URIを添付(Attach content:// URI)(**明示的Activity(Explicit Activity)**モードでのみ表示。下記の注を参照)
  • 添付したペイロードURIへの読み取りアクセスを許可するFLAG_GRANT_READ_URI_PERMISSION
  • インテントを送信(Send Intent)

暗黙的ディープリンクのワークフロー:

  1. **暗黙的ディープリンク(Implicit Deeplink)**を選択します。
  2. 評価対象アプリのディープリンクパターンに一致するURIを入力します。
  3. **インテントを送信(Send Intent)**をタップします。
  4. 評価対象アプリの動作とapk-interceptorのログを観察します。

明示的Activityのワークフロー:

  1. 対象のActivityがエクスポートされており、許可の範囲内であることを確認します。
  2. **明示的Activity(Explicit Activity)**を選択します。
  3. 評価対象アプリのパッケージ名を入力します。
  4. エクスポートされたActivityのクラス名を入力します。
  5. 必要に応じて**content:// URIを添付(Attach content:// URI)**を有効にします。
  6. **インテントを送信(Send Intent)**をタップします。

注:

ツールをダウンロード