
droidground v1.0.15
Android CTFチャレンジのための柔軟なプレイグラウンド。
DroidGround
従来の CTF チャレンジ では、システム上のファイルにフラグを隠し、攻撃者が脆弱性を悪用してそれを取得する必要があるようにするのが一般的です。しかし、Android の世界ではこのアプローチはうまく機能しません。APK ファイルは簡単にダウンロードしてリバースエンジニアリングできるため、デバイス上にフラグを置くと、静的解析やエミュレータのトリックを使って抽出するのは通常容易 になります。これは、現実的でランタイムに焦点を当てたチャレンジを作成する能力を著しく制限します。
DroidGround はこの問題を解決するために設計されました。
これは、Android モバイルハッキングチャレンジを 制御された かつ 現実的な 環境でホストするためにカスタムビルドされたプラットフォームであり、攻撃者は意図された方法でチャレンジを解決することを要求される程度にちょうどよく制約 されます。
重要な点として、参加者は アプリ環境内に閉じ込められる 可能性があります。このツールのモジュール性により、ユーザーがシェルを起動できるか、任意のファイルを読み取れるか、ツールをサイドロードできるかを設定できます。フラグを取得する唯一の方法がアプリ自体を理解して悪用することになるように、すべてをセットアップできます。
📋 目次
🧭 概要
DroidGround は、従来の CTF セットアップでは実装が難しい多種多様な Android チャレンジを可能にします。たとえば、リモートコード実行 (RCE) チャレンジでは、プレイヤーはローカル解析用の APK を受け取るかもしれません。脆弱性を発見した後、Frida スクリプトを作成し、DroidGround を通じて実際のターゲットデバイス上で実行して内部ストレージからフラグを抽出できます。他のチャレンジタイプには、隠されたアクティビティ、カスタムブロードキャストインテント、サービスの悪用、またはプリロードされたツールを使用した動的解析が含まれる場合があります。
リアルタイムのデバイスストリーミング、機能に対するきめ細かな制御、Frida 統合、カスタマイズ可能なセットアップおよびリセットスクリプトにより、DroidGround は CTF 主催者が通常可能な範囲をはるかに超えた、安全で柔軟かつ現実的な Android チャレンジを構築できるようにします。
✨ 機能
DroidGround は、サーバー制御の豊富な機能セットを提供します。
- リアルタイムデバイス画面 (
scrcpy経由)、オプションでマウス、タッチ、キーボード操作が可能 - チャレンジ状態のリセット
- アプリの再起動 / アクティビティの開始 / サービスの開始
- ブロードキャストインテントの送信
- デバイスのシャットダウン / 再起動
- バグレポートのダウンロード (bugreportz)
- Frida スクリプティング
- プリロードされたライブラリから実行 (ジェイルモード)
- 任意のスクリプトを実行 (フルモード)
- ファイルブラウザ
- ターミナルアクセス
- APK 管理
- Logcat ビューア
- エクスプロイトサーバー (チームモードが有効な場合)
ほぼすべての機能は モジュール式 で、環境変数を介して定義されるため、チャレンジの範囲を正確に制御できます。
📸 スクリーンショット
![]() | ![]() |
|---|---|
| 概要 | アクティビティの開始 |
![]() | ![]() |
| Frida ジェイルモード | Frida フルモード |
![]() | ![]() |
| ファイルブラウザ | アプリマネージャー |
![]() | ![]() |
| ターミナル | ログ |
⚙️ 設定
ルートディレクトリにある .env.sample ファイルは良い出発点です。以下は現在サポートされているすべての環境変数の完全なリストです:







