Android Mobile App Pentest: Frida, MobSF und Genymotion-Lab
Komplettes Setup fuer dynamische Analyse eigener APKs mit Frida, MobSF und Genymotion, inklusive praktischer Hooks und technischer Checkliste.
Eine APK ist eine getarnte Zip-Datei, und genau das macht Android-Mobile-Pentesting so unterhaltsam wie chirurgisch. Bei Basilisk OffSec bauen wir Labore, in denen wir ausschliesslich Binaries testen, die uns gehoeren oder fuer die wir eine schriftliche Pruefgenehmigung haben, denn Reverse Engineering an fremden Apps ohne Einwilligung ist in fast jeder Jurisdiktion eine Straftat. Bevor irgendein Frida-Hook landet, definieren wir Scope, Vertrag und ein echtes Bedrohungsmodell, ganz im Sinne von STRIDE Threat Modeling im Sprint: Vollstaendiges Beispiel an einem Microservice. Wer das ueberspringt, betreibt keine Forschung, sondern sammelt Gerichtstermine.
Der Basis-Stack fuer 2026 ist schlicht: Genymotion Personal fuer x86_64-Emulation mit optionalen Google Apps, MobSF in Docker fuer statische und automatisierte dynamische Analyse, Frida 16.x mit frida-tools auf dem Host, objection fuer schnelle Workflows und jadx-gui zum Lesen des dekompilierten Smali. Genymotion schlaegt den AVD bei IO-Geschwindigkeit und exponiert ADB ab Werk auf Port 5555. Starten Sie ein gerootetes Android 13, installieren Sie Magisk via setup-frida und pushen Sie frida-server-arm64 nach /data/local/tmp mit 755. In weniger als fuenfzehn Minuten haben Sie eine reproduzierbare Umgebung, isoliert vom Produktivnetz, ganz im Geist von Malware-Analyse im Isolierten Lab: Sicheres Setup mit FlareVM und REMnux.
MobSF ist Ihr erster Pivot. Starten Sie es per docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest, ziehen Sie die APK in die UI und es extrahiert AndroidManifest, gefaehrliche Permissions, hardcoded Secrets, Janus-Checks, WebView mit aktiviertem setJavaScriptEnabled sowie in network_security_config exponierte Domains. Statische Scans foerdern regelmaessig vergessene AWS-Tokens, Firebase-Keys mit oeffentlichen Regeln und Staging-Endpoints zutage, die niemand sehen sollte. Nutzen Sie diese Angriffsflaeche als Leitfaden fuer dynamische Hypothesen und behandeln Sie den numerischen MobSF-Score nicht als absolute Wahrheit. Wie jedes SAST erzeugt es Rauschen, siehe AppSec Shift-Left: SAST, SCA und Secrets Scanning ohne das Team auszubremsen.
Mit kartierter Oberflaeche oeffnen Sie Frida. Klassisches Beispiel: SSL-Pinning-Bypass, um TLS-Traffic in Burp oder mitmproxy zu inspizieren. Laden Sie das Skript mit frida -U -f com.firma.app -l ssl-bypass.js --no-pause; der Hook ueberschreibt checkServerTrusted in TrustManagerImpl und neutralisiert okhttp3 CertificatePinner. Ohne Pinning werden Sie zum Man-in-the-Middle-Proxy im Emulator, fangen authentifizierte JSON-Payloads ab und pruefen die Backend-API wie in einem klassischen Web-Pentest, mit Burp konfiguriert wie in Web-Pentest von Null: Ein Sicheres Lab mit DVWA, Juice Shop und Burp Suite Bauen. Wichtig: Pinning-Bypass ist nur an der App legitim, fuer die Sie ein Audit-Mandat haben.
Sobald der Traffic sauber ist, beginnt die Arbeit an der API. Die Klassiker kehren zurueck: Mass Assignment, IDOR auf /v2/users/{id}, JWT mit none-Algorithmus, GraphQL mit offener Introspection. Setzen Sie die Methodik aus Pentest von REST und GraphQL APIs: Technische Checkliste fur legales Bug Bounty ein und validieren Sie Injection-Kandidaten im Backend mit parametrisierten Payloads, wie in SQL Injection in der Praxis: Ausnutzen, Erkennen und Mitigieren im Kontrollierten Lab gezeigt. Ein unterschaetztes Ziel ist das interne WebView: Laedt die App externes HTML ohne Allowlist, koennen Sie XSS in einen privilegierten Kontext eskalieren, indem Sie via addJavascriptInterface Java-Methoden an JavaScript freigeben, eine Attacke, die wir in Modernes XSS: DOM, Stored und Reflected mit Beispielen aus dem Testlabor sezieren.
Custom Hooks sind, wo der Pentester wirklich glaenzt. Drei Frida-Skripte mit Gold-Wert: Dump von AES-Schluesseln, die an Cipher.init uebergeben werden, durch Abfangen des ersten Arguments von SecretKeySpec; Instrumentierung von SharedPreferences.Editor.putString, um in Klartext gespeicherte Tokens zu finden; und Hook auf java.io.File, um alles zu protokollieren, was waehrend des Logins unter /data/data/com.firma.app geschrieben wird. Kombinieren Sie das mit adb shell run-as com.firma.app, um SQLite-Datenbanken zu ziehen und mit sqlitebrowser zu oeffnen. Bei einem juengsten Audit fanden wir refresh_token ohne Keystore persistiert, ein Fehler, der binnen Stunden zur Account Takeover wurde.
Schliessen Sie nicht ab, ohne Runtime-Defenses zu pruefen. Pruefen Sie Root-Detection per RootBeer, Frida-Detection durch Scan lokaler Ports (27042), Emulator-Detection via Build.FINGERPRINT und Integritaet via Play Integrity API. Dokumentieren Sie exakt, wie jede Kontrolle umgangen wurde, und schlagen Sie Defense in Depth statt Silberkugeln vor. Serverseitig haerten Sie SSH am API-Bastion gemaess SSH-Hardening 2026: Algorithmen, Zertifikate und Bastion-Hosts und saeubern Sie Artefakte vor Versand des Reports, wie in Metadaten-Hygiene: EXIF, PDF und Office vor der Veroffentlichung saubern. Praktischer Takeaway: Betreiben Sie Genymotion, MobSF und Frida in einer dedizierten VM mit sauberem Snapshot pro Engagement, niemals an Ihre persoenliche Identitaet gebunden.