hacktricks/src/mobile-pentesting/android-checklist.md

62 lines
5.0 KiB
Markdown

# Android APK Checklist
{{#include ../banners/hacktricks-training.md}}
### [Lerne die Grundlagen von Android](android-app-pentesting/index.html#2-android-application-fundamentals)
- [ ] [Grundlagen](android-app-pentesting/index.html#fundamentals-review)
- [ ] [Dalvik & Smali](android-app-pentesting/index.html#dalvik--smali)
- [ ] [Einstiegspunkte](android-app-pentesting/index.html#application-entry-points)
- [ ] [Aktivitäten](android-app-pentesting/index.html#launcher-activity)
- [ ] [URL-Schemata](android-app-pentesting/index.html#url-schemes)
- [ ] [Inhaltsanbieter](android-app-pentesting/index.html#services)
- [ ] [Dienste](android-app-pentesting/index.html#services-1)
- [ ] [Broadcast-Empfänger](android-app-pentesting/index.html#broadcast-receivers)
- [ ] [Intents](android-app-pentesting/index.html#intents)
- [ ] [Intent-Filter](android-app-pentesting/index.html#intent-filter)
- [ ] [Andere Komponenten](android-app-pentesting/index.html#other-app-components)
- [ ] [Wie man ADB verwendet](android-app-pentesting/index.html#adb-android-debug-bridge)
- [ ] [Wie man Smali modifiziert](android-app-pentesting/index.html#smali)
### [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).
- [ ] 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.
- [ ] [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 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)?
- [ ] 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.
### [Dynamische Analyse](android-app-pentesting/index.html#dynamic-analysis)
- [ ] Bereiten Sie die Umgebung vor ([online](android-app-pentesting/index.html#online-dynamic-analysis), [lokale VM oder physisch](android-app-pentesting/index.html#local-dynamic-analysis))
- [ ] Gibt es [unbeabsichtigte Datenlecks](android-app-pentesting/index.html#unintended-data-leakage) (Protokollierung, Kopieren/Einfügen, Absturzprotokolle)?
- [ ] [Vertrauliche Informationen, die in SQLite-Datenbanken gespeichert werden](android-app-pentesting/index.html#sqlite-dbs)?
- [ ] [Ausnutzbare exportierte Aktivitäten](android-app-pentesting/index.html#exploiting-exported-activities-authorisation-bypass)?
- [ ] [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?
- [ ] [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).
- [ ] Ü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...).
### Einige Informationen zur Obfuskation/Deobfuskation
- [ ] [Hier lesen](android-app-pentesting/index.html#obfuscating-deobfuscating-code)
{{#include ../banners/hacktricks-training.md}}