
droidground v1.0.14
一个灵活的 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 查看器
- 漏洞利用服务器(如果启用了团队模式)
几乎所有功能都是模块化的,并通过环境变量定义,确保对挑战范围进行精确控制。
📸 截图
![]() | ![]() |
|---|---|
| 概览 | 启动 Activity |
![]() | ![]() |
| Frida Jailed 模式 | Frida 完整模式 |
![]() | ![]() |
| 文件浏览器 | 应用管理器 |
![]() | ![]() |
| 终端 | 日志 |
⚙️ 配置
根目录下的 .env.sample 文件是一个很好的起点。以下是当前支持的所有环境变量的完整列表:







