
droidground v1.0.11
Un terrain de jeu flexible pour les défis CTF Android.
DroidGround
Dans les challenges CTF traditionnels, il est courant de cacher les 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 par analyse statique ou par des astuces d'émulateur. Cela limite sévèrement la capacité à créer des challenges réalistes centré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.
Point important, 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 installer des outils en sideload. Tout peut être configuré de sorte que le seul moyen 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 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 l'analyse dynamique à l'aide d'outils préchargés.
Avec le streaming de l'appareil en temps réel, un contrôle fin 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 à la souris, au toucher et au clavier - Réinitialisation de 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écution depuis une bibliothèque préchargée (mode restreint)
- Exécution de 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 du périmètre du challenge.
📸 Captures d'écran
![]() | ![]() |
|---|---|
| Vue d'ensemble | Démarrer une activité |
![]() | ![]() |
| Mode Frida Jailed | Mode Frida complet |
![]() | ![]() |
| Navigateur de fichiers | Gestionnaire d'applications |
![]() | ![]() |
| Terminal | Journaux |
⚙️ Configuration
Le fichier .env.sample situé 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 :







