
droidground v1.0.15
Eine flexible Spielwiese für Android-CTF-Challenges.
DroidGround
In traditionellen CTF-Challenges ist es üblich, Flags in Dateien auf einem System zu verstecken, sodass Angreifer Schwachstellen ausnutzen müssen, um sie abzurufen. In der Android-Welt funktioniert dieser Ansatz jedoch nicht gut. APK-Dateien sind leicht herunterladbar und reversibel, sodass das Platzieren einer Flag auf dem Gerät sie normalerweise trivial extrahierbar macht – mittels statischer Analyse oder Emulator-Tricks. Dies schränkt die Möglichkeit, realistische, laufzeitfokussierte Challenges zu erstellen, stark ein.
DroidGround wurde entwickelt, um dieses Problem zu lösen.
Es ist eine maßgeschneiderte Plattform zum Hosten von Android-Mobile-Hacking-Challenges in einer kontrollierten und realistischen Umgebung, in der Angreifer gerade genug eingeschränkt werden, um die Challenges auf die vorgesehene Weise lösen zu müssen.
Wichtig ist, dass Teilnehmer in der App-Umgebung eingesperrt sein können. Die Modularität des Tools ermöglicht es festzulegen, ob der Benutzer eine Shell starten, beliebige Dateien lesen oder Tools sideloaden kann oder nicht. Alles kann so eingerichtet werden, dass der einzige Weg, die Flag abzurufen, darin besteht, die App selbst zu verstehen und auszunutzen.
📋 Inhaltsverzeichnis
- 🧭 Überblick
- ✨ Funktionen
- 📸 Screenshots
- ⚙️ Konfiguration
- 🧩 Anwendungsfälle
- ⚙️ Verwendung
- 💡 Tipps
- 🛠 Entwicklung
- 🤝 Mitwirken
- 📚 Danksagungen
- 🪪 Lizenz
🧭 Überblick
DroidGround ermöglicht eine Vielzahl von Android-Challenges, die in traditionellen CTF-Setups sonst schwer umzusetzen sind. In einer Remote-Code-Execution-(RCE-)Challenge erhalten Spieler beispielsweise möglicherweise eine APK zur lokalen Analyse. Nachdem sie eine Schwachstelle entdeckt haben, können sie ein Frida-Skript entwickeln und es über DroidGround auf dem echten Zielgerät ausführen, um die Flag aus dem internen Speicher zu extrahieren. Andere Challenge-Typen können versteckte Activities, benutzerdefinierte Broadcast-Intents, Service-Ausnutzung oder dynamische Analyse mit vorinstallierten Tools umfassen.
Mit Echtzeit-Gerätestreaming, feingranularer Kontrolle über Funktionen, Frida-Integration sowie anpassbaren Setup- und Reset-Skripten ermöglicht DroidGround CTF-Organisatoren, sichere, flexible und realistische Android-Challenges zu erstellen, die weit über das hinausgehen, was typischerweise möglich ist.
✨ Funktionen
DroidGround bietet eine umfangreiche Sammlung servergesteuerter Funktionen.
- Echtzeit-Gerätebildschirm (über
scrcpy), mit optionaler Maus-, Touch- und Tastatursteuerung - Challenge-Status zurücksetzen
- App neu starten / Activity starten / Service starten
- Broadcast-Intent senden
- Gerät herunterfahren / neu starten
- Bugreport herunterladen (bugreportz)
- Frida-Scripting
- Aus vorgeladener Bibliothek ausführen (Jailed-Modus)
- Beliebige Skripte ausführen (Full-Modus)
- Dateibrowser
- Terminalzugriff
- APK-Verwaltung
- Logcat-Viewer
- Exploit-Server (falls Team-Modus aktiviert ist)
Nahezu alle Funktionen sind modular und werden über Umgebungsvariablen definiert, was eine präzise Kontrolle über den Challenge-Umfang gewährleistet.
📸 Screenshots
![]() | ![]() |
|---|---|
| Überblick | Activity starten |
![]() | ![]() |
| Frida Jailed-Modus | Frida Full-Modus |
![]() | ![]() |
| Dateibrowser | App-Manager |
![]() | ![]() |
| Terminal | Logs |
⚙️ Konfiguration
Die Datei .env.sample im Stammverzeichnis ist ein guter Ausgangspunkt. Dies ist die vollständige Liste aller derzeit unterstützten Umgebungsvariablen:







