hacktricks/mobile-pentesting/android-checklist.md

85 lines
6.9 KiB
Markdown

# Android APK Checklist
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
</details>
{% endhint %}
### [Lernen Sie die Grundlagen von Android](android-app-pentesting/#2-android-application-fundamentals)
* [ ] [Grundlagen](android-app-pentesting/#fundamentals-review)
* [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali)
* [ ] [Einstiegspunkte](android-app-pentesting/#application-entry-points)
* [ ] [Aktivitäten](android-app-pentesting/#launcher-activity)
* [ ] [URL-Schemata](android-app-pentesting/#url-schemes)
* [ ] [Inhaltsanbieter](android-app-pentesting/#services)
* [ ] [Dienste](android-app-pentesting/#services-1)
* [ ] [Broadcast-Empfänger](android-app-pentesting/#broadcast-receivers)
* [ ] [Intents](android-app-pentesting/#intents)
* [ ] [Intent-Filter](android-app-pentesting/#intent-filter)
* [ ] [Andere Komponenten](android-app-pentesting/#other-app-components)
* [ ] [Wie man ADB verwendet](android-app-pentesting/#adb-android-debug-bridge)
* [ ] [Wie man Smali modifiziert](android-app-pentesting/#smali)
### [Statische Analyse](android-app-pentesting/#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/#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/#looking-for-interesting-info) (Passwörter, URLs, API, Verschlüsselung, Hintertüren, Tokens, Bluetooth UUIDs...).
* [ ] Besondere Aufmerksamkeit auf [Firebase](android-app-pentesting/#firebase)APIs.
* [ ] [Lesen Sie das Manifest:](android-app-pentesting/#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? [Insecure Data Storage](android-app-pentesting/#insecure-data-storage)?
* [ ] Gibt es ein [Passwort, das hartcodiert oder auf der Festplatte gespeichert ist](android-app-pentesting/#poorkeymanagementprocesses)? Verwendet die App [unsichere kryptografische Algorithmen](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
* [ ] Sind alle Bibliotheken mit dem PIE-Flag kompiliert?
* [ ] Vergessen Sie nicht, dass es eine Menge [statischer Android-Analyzer](android-app-pentesting/#automatic-analysis) gibt, die Ihnen in dieser Phase sehr helfen können.
### [Dynamische Analyse](android-app-pentesting/#dynamic-analysis)
* [ ] Bereiten Sie die Umgebung vor ([online](android-app-pentesting/#online-dynamic-analysis), [lokale VM oder physisch](android-app-pentesting/#local-dynamic-analysis))
* [ ] Gibt es [unbeabsichtigte Datenlecks](android-app-pentesting/#unintended-data-leakage) (Protokollierung, Kopieren/Einfügen, Absturzprotokolle)?
* [ ] [Vertrauliche Informationen, die in SQLite-Datenbanken gespeichert werden](android-app-pentesting/#sqlite-dbs)?
* [ ] [Ausnutzbare exportierte Aktivitäten](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
* [ ] [Ausnutzbare Inhaltsanbieter](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
* [ ] [Ausnutzbare exponierte Dienste](android-app-pentesting/#exploiting-services)?
* [ ] [Ausnutzbare Broadcast-Empfänger](android-app-pentesting/#exploiting-broadcast-receivers)?
* [ ] Überträgt die Anwendung Informationen im Klartext/benutzt sie schwache Algorithmen? [Insufficient Transport Layer Protection](android-app-pentesting/#insufficient-transport-layer-protection)? Ist ein MitM möglich?
* [ ] [HTTP/HTTPS-Verkehr inspizieren](android-app-pentesting/#inspecting-http-traffic)
* [ ] 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/#android-client-side-injections-and-others) (wahrscheinlich wird hier eine statische Codeanalyse helfen).
* [ ] [Frida](android-app-pentesting/#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/#obfuscating-deobfuscating-code)
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
</details>
{% endhint %}