
droidground v1.0.13
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 lassen sich leicht herunterladen und zurückentwickeln, sodass das Platzieren einer Flag auf dem Gerät sie in der Regel trivial mittels statischer Analyse oder Emulator-Tricks extrahierbar macht. 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 werden können. Die Modularität des Tools ermöglicht es festzulegen, ob der Benutzer eine Shell starten, beliebige Dateien lesen oder Tools per Sideload installieren kann oder nicht. Alles kann so eingerichtet werden, dass der einzige Weg zum Abrufen der Flag 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 üblicherweise 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 vorinstallierter Bibliothek ausführen (Jailed-Modus)
- Beliebige Skripte ausführen (Vollmodus)
- 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 Umfang der Challenge gewährleistet.
📸 Screenshots
![]() | ![]() |
|---|---|
| Übersicht | Start-Aktivität |
![]() | ![]() |
| Frida Jailed-Modus | Frida Vollmodus |
![]() | ![]() |
| Dateibrowser | App-Manager |
![]() | ![]() |
| Terminal | Protokolle |
⚙️ Konfiguration
Die Datei .env.sample im Stammverzeichnis ist ein guter Ausgangspunkt. Dies ist die vollständige Liste aller derzeit unterstützten Umgebungsvariablen:







