
Absichtlich anfällige Android-Anwendung.
Eine absichtlich verwundbare Android-Applikation für Sicherheitsschulungen
Funktionen • Screenshots • Installation • Challenges • Mitwirken • Unterstützung
Allsafe ist eine absichtlich verwundbare Android-Anwendung, die für Sicherheitsbegeisterte, Pentester und Entwickler entwickelt wurde, um die Sicherheit von Android-Apps zu erlernen. Im Gegensatz zu typischen CTF-Apps simuliert Allsafe eine reale Anwendung mit modernen Bibliotheken und Technologien und bietet eine praktische Lernerfahrung zur Identifizierung und Ausnutzung von Android-Schwachstellen.
# Lade die neueste APK von den Releases herunter
wget https://github.com/t0thkr1s/allsafe/releases/latest/download/allsafe.apk
# Installation über ADB
adb install allsafe.apk
# Repository klonen
git clone https://github.com/t0thkr1s/allsafe.git
cd allsafe
# APK bauen
./gradlew assembleDebug
# APK installieren
adb install app/build/outputs/apk/debug/app-debug.apk
Die Anwendung enthält verschiedene Sicherheits-Challenges, geordnet nach Schwierigkeitsgrad:
Einfache Informationsoffenlegungsschwachstelle. Verwende das Befehlszeilentool logcat, um sensible Informationen zu entdecken.
adb shell 'pidof infosecadventures.allsafe'
adb shell 'logcat --pid [PID] | grep secret'
Einige Anmeldedaten wurden im Code hinterlassen. Deine Aufgabe ist es, die App zu reverse-engineeren und sensible Informationen zu finden.
Dies dient rein als Frida-Übung. Lass den Code glauben, dass dein Gerät nicht gerootet ist!
Das sichere Laden von Modulen mit Drittanbieter-Apps ist nicht einfach. Schreibe eine PoC-Anwendung und nutze die Schwachstelle aus!
Eine weitere Frida-basierte Aufgabe. Hier gibt es keine echte Schwachstelle, hab einfach Spaß beim Umgehen des Secure-Flags!
Das Zertifikats-Pinning wird mit der OkHttp-Bibliothek implementiert. Du musst es umgehen, um den Datenverkehr mit Burp Suite anzuzeigen.
In der Anwendung gibt es einen anfälligen Broadcast-Empfänger. Löse ihn mit den richtigen Daten aus und du bist fertig!
Ähnlich wie beim unsicheren Broadcast-Empfänger musst du den richtigen Abfrageparameter angeben, um diese Aufgabe abzuschließen!
Nur eine normale SQL-Injection, wie man sie in Webanwendungen findet. Kein Reverse-Engineering nötig, um den Login-Mechanismus zu umgehen.
Du kannst diese Aufgabe auch erledigen, ohne die Anwendung zu dekompilieren. Öffne einen Alert-Dialog und lies Dateien!
In dieser Aufgabe musst du den Ausführungsablauf der Anwendung ändern, indem du den Smali-Code bearbeitest. Baue schließlich die APK neu und signiere sie!
Die Anwendung verwendet eine native Bibliothek, die das eingegebene Passwort validiert. Reverse-engineere die Bibliothek, um das Passwort zu finden, und verwende dann Frida, um die native Methode zu hooken.