
droidground v1.0.13
一个灵活的 Android CTF 挑战游乐场。
DroidGround
在传统的 CTF 挑战中,通常会将 flag 隐藏在系统文件中,要求攻击者利用漏洞来获取它们。然而,在 Android 世界中,这种方法效果不佳。APK 文件很容易被下载和逆向,因此将 flag 放在设备上通常使其变得轻而易举,可以通过静态分析或模拟器技巧来提取。这严重限制了创建逼真的、以运行时为重点的挑战的能力。
DroidGround 正是为解决这个问题而设计的。
它是一个定制构建的平台,用于在受控且逼真的环境中托管 Android 移动黑客挑战,其中攻击者受到恰到好处的限制,从而必须以预期的方式解决挑战。
重要的是,参与者可能被限制在应用环境内。该工具的模块化设计允许设置用户是否可以生成 shell、读取任意文件或侧载工具。一切都可以设置成只有通过理解和利用应用本身才能获取 flag。
📋 目录
🧭 概述
DroidGround 支持各种在传统 CTF 设置中难以实现的 Android 挑战。例如,在远程代码执行(RCE)挑战中,玩家可能会收到一个 APK 用于本地分析。在发现漏洞后,他们可以开发一个 Frida 脚本,并通过 DroidGround 在真实目标设备上运行它,以从内部存储中提取 flag。其他挑战类型可能涉及隐藏的 activity、自定义广播 intent、service 利用,或使用预加载工具进行动态分析。
借助实时设备流式传输、对功能的细粒度控制、Frida 集成以及可定制的设置和重置脚本,DroidGround 使 CTF 组织者能够构建安全、灵活且逼真的 Android 挑战,远远超出通常所能实现的范围。
✨ 功能
DroidGround 提供了一套丰富的服务器控制功能。
- 实时设备屏幕(通过
scrcpy),可选鼠标、触摸和键盘控制 - 重置挑战状态
- 重启应用 / 启动 Activity / 启动 Service
- 发送广播 Intent
- 关机 / 重启设备
- 下载 Bugreport(bugreportz)
- Frida 脚本
- 从预加载库运行(受限模式)
- 运行任意脚本(完整模式)
- 文件浏览器
- 终端访问
- APK 管理
- Logcat 查看器
- Exploit 服务器(如果启用了团队模式)
几乎所有功能都是模块化的,并通过环境变量定义,确保对挑战范围进行精确控制。
📸 截图
![]() | ![]() |
|---|---|
| 概述 | 启动 Activity |
![]() | ![]() |
| Frida 受限模式 | Frida 完整模式 |
![]() | ![]() |
| 文件浏览器 | 应用管理器 |
![]() | ![]() |
| 终端 | 日志 |
⚙️ 配置
根目录中的 .env.sample 文件是一个很好的起点。以下是当前支持的所有环境变量的完整列表:







