Mobile reCAPTCHA Harvester(モバイル reCAPTCHA ハーベスター)
概要
Mobile reCAPTCHA Harvester は、Frida を使った動的インストルメンテーションによって Android アプリケーション内から reCAPTCHA トークンを取り出すことを目的とした概念実証(Proof of Concept)ツールです。対象アプリが組み込む Google の reCAPTCHA SDK のトークン取得処理をフックし、成功したコールバックから得られるトークンを収集します。収集したトークンはローカルの REST API を通じて非同期に要求元へ返却する仕組みになっており、主に教育・セキュリティ調査向けに設計されています。README でも明記されている通り、本プロジェクトは研究目的であり、不正利用を助長するものではありません。
リポジトリの統計情報
- スター数: 5
- フォーク数: 0
- ウォッチャー数: 5
- コミット数: 2
- ファイル数: 7
- メインの言語: Python
主な特徴
- Frida による Android アプリのランタイムフックで reCAPTCHA SDK の呼び出しを傍受
- 取得した reCAPTCHA トークンを REST API 経由で配信するサーバー機能
- 非同期トークン要求に対応し、複数リクエストの管理を想定
- 教育・セキュリティ研究用途の概念実証(PoC)であり、倫理的注意喚起を明確に表記
技術的なポイント
本プロジェクトの核は「Frida を用いたランタイムフック」と「トークン配信の REST 層」にあります。Frida は Android 上の Java レイヤやネイティブコードに対して動的に挿入できるため、アプリが reCAPTCHA SDK を通じてトークンを生成する際の処理(例えば SDK のトークン取得メソッドや成功コールバック)をインターセプトできます。PoC ではそのようなポイントをターゲットにして、成功した応答からトークン文字列を抽出し、ホスト側のプロセスへ送信します。
サーバー側は Python 製のシンプルな REST API を持ち、トークン要求を受けると内部で Frida 経由のトークン生成処理をトリガーし、取得できたトークンを非同期的に返却する設計になっていることが伺えます。実運用を想定した堅牢な分散設計や大量トラフィックへの耐性は想定外であり、あくまで研究用途のシンプルな実装です。
注意点として、実際に動作させるためには対象デバイス上で Frida の接続が可能であること(ADB 経由で接続、あるいは Frida server の常駐、開発者オプションや root/Gadget の要否など環境依存の条件)が必要になります。また、reCAPTCHA のトークンは短時間で無効化されることが多く、発行や利用にはタイミングの問題・有効性検証が絡みます。さらに、この種の手法は保護された API 呼び出しやユーザ操作の保証を回避しうるため、法的・倫理的な制約が強く適用される点に留意が必要です。
防御側の観点では、アプリ側での難読化、証明可能なリクエスト発行の追加検証、サーバー側での行動分析やレート制御、デバイス信頼性チェック(SafetyNet/Play Integrity 等)を用いることでこうした直接的なトークン抽出を検知・軽減できます。研究者はツールを使う際に明確な許可を得て実験を行い、結果は責任ある開示の下で扱うべきです。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitattributes: file
- .gitignore: file
- README.md: file
- frida: dir
- main.py: file
…他 2 ファイル
(frida ディレクトリにはインジェクション用スクリプトやフック定義が含まれる想定、main.py が REST エンドポイントと Frida のオーケストレーションを担う想定)
まとめ
研究目的の PoC であり、倫理的・法的配慮が重要なツールです。
リポジトリ情報:
- 名前: mobile-recaptcha-harvester
- 説明: 説明なし
- スター数: 5
- 言語: Python
- URL: https://github.com/miromiro11/mobile-recaptcha-harvester
- オーナー: miromiro11
- アバター: https://avatars.githubusercontent.com/u/64688403?v=4
READMEの抜粋:
Mobile reCAPTCHA Harvester
⚠️ PROOF OF CONCEPT ONLY
This project is for educational and security research purposes only. NOT endorsed by or affiliated with Google.
A REST API that uses Frida to generate reCAPTCHA tokens from Android applications.
Overview
This tool uses Frida dynamic instrumentation to hook into Android apps using Google’s reCAPTCHA SDK and programmatically generate tokens. It exposes a simple REST API for requesting tokens asynchronously.