diff --git a/src/mobile-pentesting/android-checklist.md b/src/mobile-pentesting/android-checklist.md index f767c2217..7a649f34c 100644 --- a/src/mobile-pentesting/android-checklist.md +++ b/src/mobile-pentesting/android-checklist.md @@ -21,22 +21,31 @@ ### [Statische Analyse](android-app-pentesting/index.html#static-analysis) -- [ ] Überprüfen Sie die Verwendung von [Obfuskation](android-checklist.md#some-obfuscation-deobfuscation-information), prüfen Sie, ob das Mobilgerät gerootet ist, ob ein Emulator verwendet wird und Anti-Tampering-Überprüfungen. [Lesen Sie dies für weitere Informationen](android-app-pentesting/index.html#other-checks). +- [ ] Überprüfen Sie die Verwendung von [Obfuskation](android-checklist.md#some-obfuscation-deobfuscation-information), überprüfen Sie, ob das Mobilgerät gerootet ist, ob ein Emulator verwendet wird und führen Sie Anti-Tampering-Überprüfungen durch. [Lesen Sie dies für weitere Informationen](android-app-pentesting/index.html#other-checks). - [ ] Sensible Anwendungen (wie Bank-Apps) sollten überprüfen, ob das Mobilgerät gerootet ist, und entsprechend handeln. - [ ] Suchen Sie nach [interessanten Zeichenfolgen](android-app-pentesting/index.html#looking-for-interesting-info) (Passwörter, URLs, API, Verschlüsselung, Hintertüren, Tokens, Bluetooth-UUIDs...). -- [ ] Besondere Aufmerksamkeit auf [Firebase](android-app-pentesting/index.html#firebase)APIs. +- [ ] Besondere Aufmerksamkeit auf [Firebase](android-app-pentesting/index.html#firebase)-APIs. - [ ] [Lesen Sie das Manifest:](android-app-pentesting/index.html#basic-understanding-of-the-application-manifest-xml) -- [ ] Überprüfen Sie, ob die Anwendung im Debug-Modus ist, und versuchen Sie, sie "auszunutzen". +- [ ] Überprüfen Sie, ob die Anwendung im Debug-Modus ist, und versuchen Sie, sie zu "exploiten". - [ ] Überprüfen Sie, ob die APK Backups zulässt. - [ ] Exportierte Aktivitäten. - [ ] Inhaltsanbieter. - [ ] Exponierte Dienste. - [ ] Broadcast-Empfänger. - [ ] URL-Schemata. -- [ ] Speichert die Anwendung Daten [unsicher intern oder extern](android-app-pentesting/index.html#insecure-data-storage)? +- [ ] Speichert die Anwendung Daten unsicher intern oder extern? [android-app-pentesting/index.html#insecure-data-storage] - [ ] Gibt es ein [Passwort, das hartcodiert oder auf der Festplatte gespeichert ist](android-app-pentesting/index.html#poorkeymanagementprocesses)? Verwendet die App [unsichere kryptografische Algorithmen](android-app-pentesting/index.html#useofinsecureandordeprecatedalgorithms)? - [ ] Sind alle Bibliotheken mit dem PIE-Flag kompiliert? -- [ ] Vergessen Sie nicht, dass es eine Menge [statischer Android-Analyzer](android-app-pentesting/index.html#automatic-analysis) gibt, die Ihnen in dieser Phase sehr helfen können. +- [ ] Vergessen Sie nicht, dass es eine Reihe von [statischen Android-Analysatoren](android-app-pentesting/index.html#automatic-analysis) gibt, die Ihnen in dieser Phase sehr helfen können. +- [ ] `android:exported` **obligatorisch ab Android 12+** – falsch konfigurierte exportierte Komponenten können zu externen Intent-Aufrufen führen. +- [ ] Überprüfen Sie die **Netzwerksicherheitskonfiguration** (`networkSecurityConfig` XML) auf `cleartextTrafficPermitted="true"` oder domänenspezifische Überschreibungen. +- [ ] Suchen Sie nach Aufrufen von **Play Integrity / SafetyNet / DeviceCheck** – bestimmen Sie, ob benutzerdefinierte Attestierungen umgangen werden können. +- [ ] Überprüfen Sie **App-Links / Deep Links** (`android:autoVerify`) auf Intent-Umleitungen oder Open-Redirect-Probleme. +- [ ] Identifizieren Sie die Verwendung von **WebView.addJavascriptInterface** oder `loadData*()`, die zu RCE / XSS innerhalb der App führen können. +- [ ] Analysieren Sie plattformübergreifende Bundles (Flutter `libapp.so`, React-Native JS-Bundles, Capacitor/Ionic-Assets). Dedizierte Tools: +- `flutter-packer`, `fluttersign`, `rn-differ` +- [ ] Scannen Sie Drittanbieter-Bibliotheken auf bekannte CVEs (z. B. **libwebp CVE-2023-4863**, **libpng** usw.). +- [ ] Bewerten Sie **SEMgrep Mobile-Regeln**, **Pithus** und die neuesten **MobSF ≥ 3.9** KI-unterstützten Scan-Ergebnisse auf zusätzliche Funde. ### [Dynamische Analyse](android-app-pentesting/index.html#dynamic-analysis) @@ -47,11 +56,19 @@ - [ ] [Ausnutzbare Inhaltsanbieter](android-app-pentesting/index.html#exploiting-content-providers-accessing-and-manipulating-sensitive-information)? - [ ] [Ausnutzbare exponierte Dienste](android-app-pentesting/index.html#exploiting-services)? - [ ] [Ausnutzbare Broadcast-Empfänger](android-app-pentesting/index.html#exploiting-broadcast-receivers)? -- [ ] Überträgt die Anwendung Informationen [im Klartext/unter Verwendung schwacher Algorithmen](android-app-pentesting/index.html#insufficient-transport-layer-protection)? Ist ein MitM möglich? +- [ ] Überträgt die Anwendung Informationen im Klartext/verwendet sie schwache Algorithmen? [android-app-pentesting/index.html#insufficient-transport-layer-protection] Ist ein MitM möglich? - [ ] [HTTP/HTTPS-Verkehr inspizieren](android-app-pentesting/index.html#inspecting-http-traffic) -- [ ] Dies ist wirklich wichtig, denn wenn Sie den HTTP-Verkehr erfassen können, können Sie nach häufigen Webanfälligkeiten suchen (Hacktricks hat viele Informationen über Webanfälligkeiten). +- [ ] Dies ist wirklich wichtig, denn wenn Sie den HTTP-Verkehr erfassen können, können Sie nach häufigen Web-Schwachstellen suchen (Hacktricks hat viele Informationen über Web-Schwachstellen). - [ ] Überprüfen Sie mögliche [Android-Client-Seiten-Injektionen](android-app-pentesting/index.html#android-client-side-injections-and-others) (wahrscheinlich wird hier eine statische Codeanalyse helfen). - [ ] [Frida](android-app-pentesting/index.html#frida): Nur Frida, verwenden Sie es, um interessante dynamische Daten aus der Anwendung zu erhalten (vielleicht einige Passwörter...). +- [ ] Testen Sie auf **Tapjacking / animationsgesteuerte Angriffe (TapTrap 2025)**, selbst auf Android 15+ (keine Overlay-Berechtigung erforderlich). +- [ ] Versuchen Sie **Overlay / SYSTEM_ALERT_WINDOW Clickjacking** und **Missbrauch des Accessibility-Dienstes** zur Privilegieneskalation. +- [ ] Überprüfen Sie, ob `adb backup` / `bmgr backupnow` weiterhin Anwendungsdaten dumpen kann (Apps, die vergessen haben, `allowBackup` zu deaktivieren). +- [ ] Prüfen Sie auf **Binder-Level-LPEs** (z. B. **CVE-2023-20963, CVE-2023-20928**); verwenden Sie Kernel-Fuzzer oder PoCs, wenn dies erlaubt ist. +- [ ] Wenn Play Integrity / SafetyNet durchgesetzt wird, versuchen Sie Runtime-Hooks (`Frida Gadget`, `MagiskIntegrityFix`, `Integrity-faker`) oder Netzwerk-Level-Replays. +- [ ] Instrumentieren Sie mit modernen Tools: +- **Objection > 2.0**, **Frida 17+**, **NowSecure-Tracer (2024)** +- Dynamisches systemweites Tracing mit `perfetto` / `simpleperf`. ### Einige Informationen zur Obfuskation/Deobfuskation