# Android APK Checklist
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
### [Learn Android fundamentals](android-app-pentesting/#2-android-application-fundamentals)
* [ ] [Основи](android-app-pentesting/#fundamentals-review)
* [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali)
* [ ] [Точки входу](android-app-pentesting/#application-entry-points)
* [ ] [Активності](android-app-pentesting/#launcher-activity)
* [ ] [URL-схеми](android-app-pentesting/#url-schemes)
* [ ] [Постачальники контенту](android-app-pentesting/#services)
* [ ] [Сервіси](android-app-pentesting/#services-1)
* [ ] [Отримувачі трансляцій](android-app-pentesting/#broadcast-receivers)
* [ ] [Інтенти](android-app-pentesting/#intents)
* [ ] [Фільтр інтента](android-app-pentesting/#intent-filter)
* [ ] [Інші компоненти](android-app-pentesting/#other-app-components)
* [ ] [Як використовувати ADB](android-app-pentesting/#adb-android-debug-bridge)
* [ ] [Як модифікувати Smali](android-app-pentesting/#smali)
### [Статичний аналіз](android-app-pentesting/#static-analysis)
* [ ] Перевірте використання [обфускації](android-checklist.md#some-obfuscation-deobfuscation-information), перевірки на те, чи був мобільний пристрій рутований, чи використовується емулятор та перевірки на антивандалізм. [Читати тут для отримання додаткової інформації](android-app-pentesting/#other-checks).
* [ ] Чутливі програми (як банківські додатки) повинні перевіряти, чи рутований мобільний пристрій, і діяти відповідно.
* [ ] Шукайте [цікаві рядки](android-app-pentesting/#looking-for-interesting-info) (паролі, URL, API, шифрування, бекдори, токени, Bluetooth uuids...).
* [ ] Особлива увага до [firebase ](android-app-pentesting/#firebase)API.
* [ ] [Прочитайте маніфест:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
* [ ] Перевірте, чи програма знаходиться в режимі налагодження, і спробуйте "використати" це
* [ ] Перевірте, чи дозволяє APK резервні копії
* [ ] Експортовані активності
* [ ] Постачальники контенту
* [ ] Відкриті сервіси
* [ ] Отримувачі трансляцій
* [ ] URL-схеми
* [ ] Чи зберігає програма дані [незахищено внутрішньо чи зовні](android-app-pentesting/#insecure-data-storage)?
* [ ] Чи є [пароль, закодований або збережений на диску](android-app-pentesting/#poorkeymanagementprocesses)? Чи використовує програма [незахищені криптоалгоритми](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
* [ ] Усі бібліотеки скомпільовані з використанням прапора PIE?
* [ ] Не забувайте, що існує безліч [статичних аналізаторів Android](android-app-pentesting/#automatic-analysis), які можуть дуже допомогти на цьому етапі.
### [Динамічний аналіз](android-app-pentesting/#dynamic-analysis)
* [ ] Підготуйте середовище ([онлайн](android-app-pentesting/#online-dynamic-analysis), [локальна VM або фізична](android-app-pentesting/#local-dynamic-analysis))
* [ ] Чи є [небажана витік даних](android-app-pentesting/#unintended-data-leakage) (логування, копіювання/вставка, журнали аварій)?
* [ ] [Конфіденційна інформація, що зберігається в SQLite базах даних](android-app-pentesting/#sqlite-dbs)?
* [ ] [Вразливі експортовані активності](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
* [ ] [Вразливі постачальники контенту](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
* [ ] [Вразливі відкриті сервіси](android-app-pentesting/#exploiting-services)?
* [ ] [Вразливі отримувачі трансляцій](android-app-pentesting/#exploiting-broadcast-receivers)?
* [ ] Чи передає програма [інформацію у відкритому тексті/використовує слабкі алгоритми](android-app-pentesting/#insufficient-transport-layer-protection)? Чи можливий MitM?
* [ ] [Перевірте HTTP/HTTPS трафік](android-app-pentesting/#inspecting-http-traffic)
* [ ] Це дійсно важливо, тому що якщо ви можете захопити HTTP трафік, ви можете шукати загальні веб-вразливості (Hacktricks має багато інформації про веб-вразливості).
* [ ] Перевірте можливі [ін'єкції на стороні клієнта Android](android-app-pentesting/#android-client-side-injections-and-others) (можливо, деякий статичний аналіз коду допоможе тут)
* [ ] [Frida](android-app-pentesting/#frida): Просто Frida, використовуйте її для отримання цікавих динамічних даних з програми (можливо, деякі паролі...)
### Деяка інформація про обфускацію/декодування
* [ ] [Читати тут](android-app-pentesting/#obfuscating-deobfuscating-code)
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}