
droidground v1.0.15
Un terrain de jeu flexible pour les défis CTF Android.
DroidGround
Dans les CTF challenges traditionnels, il est courant de cacher des flags dans des fichiers sur un système, obligeant les attaquants à exploiter des vulnérabilités pour les récupérer. Cependant, dans le monde Android, cette approche ne fonctionne pas bien. Les fichiers APK sont facilement téléchargeables et réversibles, donc placer un flag sur l'appareil le rend généralement trivial à extraire via une analyse statique ou des astuces d'émulateur. Cela limite sévèrement la capacité à créer des challenges réalistes axés sur l'exécution.
DroidGround est conçu pour résoudre ce problème.
C'est une plateforme sur mesure pour héberger des challenges de hacking mobile Android dans un environnement contrôlé et réaliste, où les attaquants sont suffisamment contraints pour devoir résoudre les challenges de la manière prévue.
De manière importante, les participants peuvent être enfermés dans l'environnement de l'application. La modularité de l'outil permet de définir si l'utilisateur peut ou non lancer un shell, lire des fichiers arbitraires ou charger des outils. Tout peut être configuré de sorte que la seule façon de récupérer le flag soit de comprendre et d'exploiter l'application elle-même.
📋 Table des matières
- 🧭 Aperçu
- ✨ Fonctionnalités
- 📸 Captures d'écran
- ⚙️ Configuration
- 🧩 Cas d'usage
- ⚙️ Utilisation
- 💡 Astuces
- 🛠 Développement
- 🤝 Contribution
- 📚 Crédits
- 🪪 Licence
🧭 Aperçu
DroidGround permet une grande variété de challenges Android qui sont autrement difficiles à mettre en œuvre dans les configurations CTF traditionnelles. Par exemple, dans un challenge d'exécution de code à distance (RCE), les joueurs peuvent recevoir un APK pour une analyse locale. Après avoir découvert une vulnérabilité, ils peuvent développer un script Frida et l'exécuter via DroidGround sur l'appareil cible réel pour extraire le flag du stockage interne. D'autres types de challenges peuvent impliquer des activités cachées, des intents de diffusion personnalisés, l'exploitation de services ou une analyse dynamique à l'aide d'outils préchargés.
Avec la diffusion en temps réel de l'appareil, un contrôle précis des fonctionnalités, l'intégration de Frida et des scripts de configuration et de réinitialisation personnalisables, DroidGround permet aux organisateurs de CTF de créer des challenges Android sécurisés, flexibles et réalistes qui vont bien au-delà de ce qui est habituellement possible.
✨ Fonctionnalités
DroidGround fournit un ensemble riche de fonctionnalités contrôlées par le serveur.
- Écran de l'appareil en temps réel (via
scrcpy), avec contrôle optionnel de la souris, du tactile et du clavier - Réinitialiser l'état du challenge
- Redémarrer l'application / Démarrer une activité / Démarrer un service
- Envoyer un intent de diffusion
- Éteindre / Redémarrer l'appareil
- Télécharger le rapport de bug (bugreportz)
- Scripting Frida
- Exécuter depuis la bibliothèque préchargée (mode jail)
- Exécuter des scripts arbitraires (mode complet)
- Navigateur de fichiers
- Accès au terminal
- Gestion des APK
- Visionneuse Logcat
- Serveur d'exploit (si le mode équipe est activé)
Presque toutes les fonctionnalités sont modulaires et définies via des variables d'environnement, garantissant un contrôle précis de la portée du challenge.
📸 Captures d'écran
![]() | ![]() |
|---|---|
| Aperçu | Démarrer une activité |
![]() | ![]() |
| Frida mode jail | Frida mode complet |
![]() | ![]() |
| Navigateur de fichiers | Gestionnaire d'applications |
![]() | ![]() |
| Terminal | Journaux |
⚙️ Configuration
Le fichier .env.sample dans le répertoire racine est un bon point de départ. Voici la liste complète de toutes les variables d'environnement actuellement prises en charge :







