hacktricks/mobile-pentesting/android-checklist.md

85 lines
7 KiB
Markdown

# Liste de vérification APK Android
{% hint style="success" %}
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Soutenir HackTricks</summary>
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
</details>
{% endhint %}
### [Apprendre les fondamentaux d'Android](android-app-pentesting/#2-android-application-fundamentals)
* [ ] [Bases](android-app-pentesting/#fundamentals-review)
* [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali)
* [ ] [Points d'entrée](android-app-pentesting/#application-entry-points)
* [ ] [Activités](android-app-pentesting/#launcher-activity)
* [ ] [Schémas d'URL](android-app-pentesting/#url-schemes)
* [ ] [Fournisseurs de contenu](android-app-pentesting/#services)
* [ ] [Services](android-app-pentesting/#services-1)
* [ ] [Récepteurs de diffusion](android-app-pentesting/#broadcast-receivers)
* [ ] [Intentions](android-app-pentesting/#intents)
* [ ] [Filtre d'intention](android-app-pentesting/#intent-filter)
* [ ] [Autres composants](android-app-pentesting/#other-app-components)
* [ ] [Comment utiliser ADB](android-app-pentesting/#adb-android-debug-bridge)
* [ ] [Comment modifier Smali](android-app-pentesting/#smali)
### [Analyse statique](android-app-pentesting/#static-analysis)
* [ ] Vérifiez l'utilisation de [l'obfuscation](android-checklist.md#some-obfuscation-deobfuscation-information), vérifiez si le mobile est rooté, si un émulateur est utilisé et les vérifications anti-tampering. [Lisez ceci pour plus d'infos](android-app-pentesting/#other-checks).
* [ ] Les applications sensibles (comme les applications bancaires) doivent vérifier si le mobile est rooté et doivent agir en conséquence.
* [ ] Recherchez des [chaînes intéressantes](android-app-pentesting/#looking-for-interesting-info) (mots de passe, URL, API, cryptage, portes dérobées, jetons, UUID Bluetooth...).
* [ ] Attention particulière aux [APIs firebase](android-app-pentesting/#firebase).
* [ ] [Lisez le manifeste :](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
* [ ] Vérifiez si l'application est en mode débogage et essayez de "l'exploiter"
* [ ] Vérifiez si l'APK permet des sauvegardes
* [ ] Activités exportées
* [ ] Fournisseurs de contenu
* [ ] Services exposés
* [ ] Récepteurs de diffusion
* [ ] Schémas d'URL
* [ ] L'application [sauvegarde-t-elle des données de manière non sécurisée en interne ou en externe](android-app-pentesting/#insecure-data-storage) ?
* [ ] Y a-t-il un [mot de passe codé en dur ou sauvegardé sur le disque](android-app-pentesting/#poorkeymanagementprocesses) ? L'application [utilise-t-elle des algorithmes cryptographiques non sécurisés](android-app-pentesting/#useofinsecureandordeprecatedalgorithms) ?
* [ ] Toutes les bibliothèques compilées en utilisant le drapeau PIE ?
* [ ] N'oubliez pas qu'il existe un certain nombre d'[analyseurs Android statiques](android-app-pentesting/#automatic-analysis) qui peuvent beaucoup vous aider durant cette phase.
### [Analyse dynamique](android-app-pentesting/#dynamic-analysis)
* [ ] Préparez l'environnement ([en ligne](android-app-pentesting/#online-dynamic-analysis), [VM locale ou physique](android-app-pentesting/#local-dynamic-analysis))
* [ ] Y a-t-il une [fuite de données non intentionnelle](android-app-pentesting/#unintended-data-leakage) (journalisation, copier/coller, journaux de plantage) ?
* [ ] [Informations confidentielles sauvegardées dans des bases de données SQLite](android-app-pentesting/#sqlite-dbs) ?
* [ ] [Activités exposées exploitables](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass) ?
* [ ] [Fournisseurs de contenu exploitables](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information) ?
* [ ] [Services exposés exploitables](android-app-pentesting/#exploiting-services) ?
* [ ] [Récepteurs de diffusion exploitables](android-app-pentesting/#exploiting-broadcast-receivers) ?
* [ ] L'application [transmet-elle des informations en texte clair/utilise-t-elle des algorithmes faibles](android-app-pentesting/#insufficient-transport-layer-protection) ? Un MitM est-il possible ?
* [ ] [Inspectez le trafic HTTP/HTTPS](android-app-pentesting/#inspecting-http-traffic)
* [ ] Celui-ci est vraiment important, car si vous pouvez capturer le trafic HTTP, vous pouvez rechercher des vulnérabilités Web courantes (Hacktricks a beaucoup d'informations sur les vulnérabilités Web).
* [ ] Vérifiez les [injections côté client Android possibles](android-app-pentesting/#android-client-side-injections-and-others) (probablement une certaine analyse de code statique aidera ici)
* [ ] [Frida](android-app-pentesting/#frida) : Juste Frida, utilisez-le pour obtenir des données dynamiques intéressantes de l'application (peut-être quelques mots de passe...)
### Quelques informations sur l'obfuscation/déobfuscation
* [ ] [Lisez ici](android-app-pentesting/#obfuscating-deobfuscating-code)
{% hint style="success" %}
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Soutenir HackTricks</summary>
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
</details>
{% endhint %}