
droidground v1.0.14
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 Jailed モード | Frida フルモード |
![]() | ![]() |
| ファイルブラウザ | アプリマネージャー |
![]() | ![]() |
| ターミナル | ログ |
⚙️ 設定
ルートディレクトリにある .env.sample ファイルが出発点として適しています。以下は現在サポートされているすべての環境変数の完全なリストです:







