hacktricks/mobile-pentesting/android-checklist.md

97 lines
9.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Android APK Checklist
{% hint style="success" %}
Вивчайте та практикуйте 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">\
Вивчайте та практикуйте 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>Підтримати HackTricks</summary>
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
Поглибте свої знання в **Mobile Security** з 8kSec Academy. Опануйте безпеку iOS та Android через наші курси з самостійним навчанням та отримайте сертифікат:
{% embed url="https://academy.8ksec.io/" %}
### [Вивчіть основи Android](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 dbs](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)
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
Поглибте свої знання в **Mobile Security** з 8kSec Academy. Опануйте безпеку iOS та Android через наші курси з самостійним навчанням та отримайте сертифікат:
{% embed url="https://academy.8ksec.io/" %}
{% hint style="success" %}
Вивчайте та практикуйте 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">\
Вивчайте та практикуйте 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>Підтримати HackTricks</summary>
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
</details>
{% endhint %}