hacktricks/mobile-pentesting/android-checklist.md

100 lines
7.2 KiB
Markdown

# Android APK Checklist
{% hint style="success" %}
Lerne & übe 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">\
Lerne & übe 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üfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
</details>
{% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### [Lerne 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üfe die Verwendung von [Obfuskation](android-checklist.md#some-obfuscation-deobfuscation-information), überprüfe, ob das Mobilgerät gerootet ist, ob ein Emulator verwendet wird und Anti-Tampering-Überprüfungen. [Lies dies für mehr Informationen](android-app-pentesting/#other-checks).
* [ ] Sensible Anwendungen (wie Bank-Apps) sollten überprüfen, ob das Mobilgerät gerootet ist und entsprechend handeln.
* [ ] Suche 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.
* [ ] [Lies das Manifest:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
* [ ] Überprüfe, ob die Anwendung im Debug-Modus ist und versuche, sie "auszunutzen".
* [ ] Überprüfe, 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 hart codiert 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?
* [ ] Vergiss nicht, dass es eine Menge [statischer Android-Analyzer](android-app-pentesting/#automatic-analysis) gibt, die dir in dieser Phase sehr helfen können.
### [Dynamische Analyse](android-app-pentesting/#dynamic-analysis)
* [ ] Bereite 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/verwendet 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 du den HTTP-Verkehr erfassen kannst, kannst du nach häufigen Web-Schwachstellen suchen (Hacktricks hat viele Informationen über Web-Schwachstellen).
* [ ] Überprüfe auf 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, benutze 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)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
Lerne & übe 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">\
Lerne & übe 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üfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
</details>
{% endhint %}