
droidground v1.0.15
Un campo de pruebas flexible para retos CTF de Android.
DroidGround
En los desafíos CTF tradicionales, es común ocultar flags en archivos dentro de un sistema, lo que obliga a los atacantes a explotar vulnerabilidades para recuperarlas. Sin embargo, en el mundo de Android, este enfoque no funciona bien. Los archivos APK son fácilmente descargables y reversibles, por lo que colocar una flag en el dispositivo normalmente hace que sea trivial extraerla mediante análisis estático o trucos de emulador. Esto limita severamente la capacidad de crear desafíos realistas centrados en el runtime.
DroidGround está diseñado para resolver este problema.
Es una plataforma construida a medida para alojar desafíos de hacking móvil en Android en un entorno controlado y realista, donde los atacantes están limitados lo justo para requerir que resuelvan los desafíos de la manera prevista.
Es importante destacar que los participantes pueden estar encerrados dentro del entorno de la app. La modularidad de la herramienta permite establecer si el usuario puede o no abrir una shell, leer archivos arbitrarios o instalar herramientas de forma lateral. Todo puede configurarse para que la única forma de recuperar la flag sea comprendiendo y explotando la propia app.
📋 Tabla de Contenidos
- 🧭 Descripción General
- ✨ Características
- 📸 Capturas de Pantalla
- ⚙️ Configuración
- 🧩 Casos de Uso
- ⚙️ Uso
- 💡 Consejos
- 🛠 Desarrollo
- 🤝 Contribuir
- 📚 Créditos
- 🪪 Licencia
🧭 Descripción General
DroidGround permite una amplia variedad de desafíos de Android que de otro modo son difíciles de implementar en configuraciones CTF tradicionales. Por ejemplo, en un desafío de ejecución remota de código (RCE), los jugadores podrían recibir un APK para análisis local. Después de descubrir una vulnerabilidad, pueden desarrollar un script de Frida y ejecutarlo a través de DroidGround en el dispositivo objetivo real para extraer la flag del almacenamiento interno. Otros tipos de desafíos pueden involucrar actividades ocultas, intents de broadcast personalizados, explotación de servicios o análisis dinámico usando herramientas precargadas.
Con streaming del dispositivo en tiempo real, control detallado sobre las características, integración con Frida y scripts de configuración y reinicio personalizables, DroidGround permite a los organizadores de CTF construir desafíos de Android seguros, flexibles y realistas que van mucho más allá de lo que normalmente es posible.
✨ Características
DroidGround proporciona un amplio conjunto de características controladas por el servidor.
- Pantalla del Dispositivo en Tiempo Real (vía
scrcpy), con control opcional de ratón, táctil y teclado - Reiniciar el Estado del Desafío
- Reiniciar App / Iniciar Actividad / Iniciar Servicio
- Enviar Intent de Broadcast
- Apagar / Reiniciar Dispositivo
- Descargar Bugreport (bugreportz)
- Scripting con Frida
- Ejecutar desde biblioteca precargada (modo jail)
- Ejecutar scripts arbitrarios (modo full)
- Explorador de Archivos
- Acceso a Terminal
- Gestión de APK
- Visor de Logcat
- Servidor de Exploits (si el modo equipo está habilitado)
Casi todas las características son modulares y se definen mediante variables de entorno, lo que garantiza un control preciso sobre el alcance del desafío.
📸 Capturas de Pantalla
![]() | ![]() |
|---|---|
| Overview | Start Activity |
![]() | ![]() |
| Frida Jailed Mode | Frida Full Mode |
![]() | ![]() |
| File Browser | App Manager |
![]() | ![]() |
| Terminal | Logs |
⚙️ Configuración
El archivo .env.sample en el directorio raíz es un buen punto de partida. Esta es la lista completa de todas las variables de entorno soportadas actualmente:







