# Android APK Checklist {{#include ../banners/hacktricks-training.md}} ### [Learn Android fundamentals](android-app-pentesting/index.html#2-android-application-fundamentals) - [ ] [Основи](android-app-pentesting/index.html#fundamentals-review) - [ ] [Dalvik & Smali](android-app-pentesting/index.html#dalvik--smali) - [ ] [Точки входу](android-app-pentesting/index.html#application-entry-points) - [ ] [Активності](android-app-pentesting/index.html#launcher-activity) - [ ] [URL-схеми](android-app-pentesting/index.html#url-schemes) - [ ] [Постачальники контенту](android-app-pentesting/index.html#services) - [ ] [Сервіси](android-app-pentesting/index.html#services-1) - [ ] [Отримувачі трансляцій](android-app-pentesting/index.html#broadcast-receivers) - [ ] [Інтенти](android-app-pentesting/index.html#intents) - [ ] [Фільтр інтента](android-app-pentesting/index.html#intent-filter) - [ ] [Інші компоненти](android-app-pentesting/index.html#other-app-components) - [ ] [Як використовувати ADB](android-app-pentesting/index.html#adb-android-debug-bridge) - [ ] [Як модифікувати Smali](android-app-pentesting/index.html#smali) ### [Статичний аналіз](android-app-pentesting/index.html#static-analysis) - [ ] Перевірте використання [обфускації](android-checklist.md#some-obfuscation-deobfuscation-information), перевірки на те, чи був мобільний пристрій рутований, чи використовується емулятор та перевірки на антивандалізм. [Читати тут для отримання додаткової інформації](android-app-pentesting/index.html#other-checks). - [ ] Чутливі програми (наприклад, банківські додатки) повинні перевіряти, чи рутований мобільний пристрій, і діяти відповідно. - [ ] Шукайте [цікаві рядки](android-app-pentesting/index.html#looking-for-interesting-info) (паролі, URL, API, шифрування, бекдори, токени, Bluetooth uuids...). - [ ] Особлива увага до [firebase](android-app-pentesting/index.html#firebase)API. - [ ] [Читати маніфест:](android-app-pentesting/index.html#basic-understanding-of-the-application-manifest-xml) - [ ] Перевірте, чи програма в режимі налагодження, і спробуйте "використати" її - [ ] Перевірте, чи дозволяє APK резервні копії - [ ] Експортовані активності - [ ] Постачальники контенту - [ ] Відкриті сервіси - [ ] Отримувачі трансляцій - [ ] URL-схеми - [ ] Чи зберігає програма дані [незахищено внутрішньо чи зовні](android-app-pentesting/index.html#insecure-data-storage)? - [ ] Чи є [пароль, закодований або збережений на диску](android-app-pentesting/index.html#poorkeymanagementprocesses)? Чи використовує програма [незахищені криптоалгоритми](android-app-pentesting/index.html#useofinsecureandordeprecatedalgorithms)? - [ ] Усі бібліотеки скомпільовані з використанням прапора PIE? - [ ] Не забувайте, що є безліч [статичних аналізаторів Android](android-app-pentesting/index.html#automatic-analysis), які можуть дуже допомогти на цьому етапі. ### [Динамічний аналіз](android-app-pentesting/index.html#dynamic-analysis) - [ ] Підготуйте середовище ([онлайн](android-app-pentesting/index.html#online-dynamic-analysis), [локальна VM або фізична](android-app-pentesting/index.html#local-dynamic-analysis)) - [ ] Чи є [небажане витікання даних](android-app-pentesting/index.html#unintended-data-leakage) (логування, копіювання/вставка, журнали аварій)? - [ ] [Конфіденційна інформація, що зберігається в SQLite базах даних](android-app-pentesting/index.html#sqlite-dbs)? - [ ] [Вразливі експортовані активності](android-app-pentesting/index.html#exploiting-exported-activities-authorisation-bypass)? - [ ] [Вразливі постачальники контенту](android-app-pentesting/index.html#exploiting-content-providers-accessing-and-manipulating-sensitive-information)? - [ ] [Вразливі відкриті сервіси](android-app-pentesting/index.html#exploiting-services)? - [ ] [Вразливі отримувачі трансляцій](android-app-pentesting/index.html#exploiting-broadcast-receivers)? - [ ] Чи передає програма [інформацію у відкритому тексті/використовує слабкі алгоритми](android-app-pentesting/index.html#insufficient-transport-layer-protection)? Чи можливий MitM? - [ ] [Перевірте HTTP/HTTPS трафік](android-app-pentesting/index.html#inspecting-http-traffic) - [ ] Це дійсно важливо, тому що якщо ви можете захопити HTTP трафік, ви можете шукати загальні веб-вразливості (Hacktricks має багато інформації про веб-вразливості). - [ ] Перевірте можливі [ін'єкції на стороні клієнта Android](android-app-pentesting/index.html#android-client-side-injections-and-others) (можливо, деякий статичний аналіз коду допоможе тут) - [ ] [Frida](android-app-pentesting/index.html#frida): Просто Frida, використовуйте її для отримання цікавих динамічних даних з програми (можливо, деякі паролі...) ### Деяка інформація про обфускацію/деобфускацію - [ ] [Читати тут](android-app-pentesting/index.html#obfuscating-deobfuscating-code) {{#include ../banners/hacktricks-training.md}}