mcpField
C
competition-android-hooking

competition-android-hooking

github.com/zhaoxuya520セキュリティ43.7k94 回インストール5 週間前に更新
リポジトリ

competition-android-hooking について

competition-android-hooking は、Android アプリの実行時の信頼境界が鍵となる課題向けのセキュリティスキルです。静的調査と絞り込んだランタイムフックを組み合わせ、受理されるリクエストや分岐を再現します。

主な機能

  1. 01アプリコンポーネントとローカルストレージの調査
  2. 02最小範囲のランタイムフック選定
  3. 03署名・暗号処理境界データの取得
  4. 04受理されるリクエストや分岐の再現

活用シーン

  1. 01リクエスト署名とトークン受理の追跡
  2. 02JNI、WebView、キーストア境界の調査
  3. 03サーバーが受理するアプリリクエストの再現

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zhaoxuya520/reverse-skill --skill competition-android-hooking

インストール後、Claude Code で/competition-android-hookingを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yamlreferences/android-hooking.md

詳細

競技向け Android フッキング

このスキルは、$ctf-sandbox-orchestrator がすでに有効になっており、サンドボックスの前提、ノードの所有権、証拠の優先順位が確立されている場合にのみ、下流の専門分野として使用してください。まだそれが行われていない場合は、まず $ctf-sandbox-orchestrator に戻ってください。

決定的な経路が静的な文字列だけではなく、Android アプリの稼働中の信頼境界を通る場合にこのスキルを使用します。

ユーザーが明示的に英語を要求しない限り、簡体字中国語で返信してください。

クイックスタート

  1. パッチ適用や再署名の前に、元の APK、抽出されたリソース、逆コンパイルされた出力を保存します。
  2. マニフェスト、エクスポートされたコンポーネント、ディープリンク、ネイティブライブラリ、設定、ローカル DB、バンドルされた設定ファイルから始めます。
  3. フックする最も狭いランタイム境界を決定します。署名者、暗号ヘルパー、JNI ブリッジ、WebView ブリッジ、またはリクエストビルダーです。
  4. 信頼の境界が理解されたと主張する前に、静的な証拠と動的なトレースを相互に関連付けます。
  5. 最小のフックセットから、署名されたリクエスト、受け入れられたトークン、またはゲートされた分岐を再現します。

ワークフロー

1. フック前の静的トリアージ
  • パッケージ構造、エクスポートされたアクティビティ、サービス、レシーバー、プロバイダー、ディープリンクハンドラーをマッピングします。
  • SSL ピン留めロジック、root チェック、機能フラグ、トークンストレージ、共有設定、SQLite テーブル、protobuf または RPC の境界に注意します。
  • 機密ロジックが Java、Kotlin、JNI、またはバンドルされた WebView のどこにあるかを特定します。
2. 最も狭い境界をフックする
  • 広範な UI フックではなく、リクエスト署名者、暗号ヘルパー、キーストアアクセス、protobuf のエンコードまたはデコード、または JNI マーシャリングをフックすることを優先します。
  • 実際に信頼を変化させる境界で、平文入力、署名済み文字列、ヘッダー、ナンス、出力を記録します。
  • ピン留めまたは環境チェックが進行を妨げる場合は、実際のリクエストパスを露出させるのに必要な最小限だけパッチまたはフックします。
3. 受け入れられたパスをリプレイする
  • サーバー側で受け入れられる分岐に到達する最小のシーケンスを再構築します。ローカル状態、ナンス、リクエストボディ、署名、ヘッダーです。
  • フックログ、キャプチャしたリクエスト形状、ローカルストレージパスを、同じアカウントまたはセッション状態に結び付けます。
  • チャレンジが Android ランタイムよりも変換の復元が中心になった場合は、より広範な暗号またはモバイルのスキルに戻します。

このリファレンスを読む

  • フック対象、ストレージチェックリスト、証拠のパッケージ化については、references/android-hooking.md を読み込んでください。

保持すべきもの

  • フックポイント、クラス名、JNI シンボル、署名者の入力と出力、ヘッダー名
  • 共有設定、ローカル DB の行、ディープリンク、エクスポートされたコンポーネント、トークンストレージパス
  • 信頼境界を証明する、最小の再現可能なリクエストまたは分岐

コメント