Android APK Checklist
Reading time: 5 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Learn Android fundamentals
- Основи
- Dalvik & Smali
- Точки входу
- Активності
- URL-схеми
- Постачальники контенту
- Сервіси
- Приймачі трансляцій
- Інтенти
- Фільтр інтента
- Інші компоненти
- Як використовувати ADB
- Як модифікувати Smali
Static Analysis
- Перевірте використання обфускації, перевірки на те, чи був мобільний пристрій рутований, чи використовується емулятор та перевірки на антивандалізм. Читати тут для отримання додаткової інформації.
- Чутливі програми (наприклад, банківські додатки) повинні перевіряти, чи рутований мобільний пристрій, і діяти відповідно.
- Шукайте цікаві рядки (паролі, URL, API, шифрування, бекдори, токени, Bluetooth uuids...).
- Особлива увага до firebase API.
- Прочитайте маніфест:
- Перевірте, чи програма знаходиться в режимі налагодження, і спробуйте "експлуатувати" її
- Перевірте, чи дозволяє APK резервні копії
- Експортовані активності
- Постачальники контенту
- Відкриті сервіси
- Приймачі трансляцій
- URL-схеми
- Чи зберігає програма дані ненадійно всередині або зовні](android-app-pentesting/index.html#insecure-data-storage)?
- Чи є пароль, закодований або збережений на диску? Чи використовує програма ненадійні криптоалгоритми?
- Усі бібліотеки скомпільовані з використанням прапора PIE?
- Не забувайте, що є безліч статичних Android-аналітиків, які можуть дуже допомогти вам на цьому етапі.
-
android:exported
обов'язковий на Android 12+ – неправильно налаштовані експортовані компоненти можуть призвести до виклику зовнішніх інтенцій. -
Перегляньте Конфігурацію безпеки мережі (
networkSecurityConfig
XML) наcleartextTrafficPermitted="true"
або специфічні для домену переопределення. - Шукайте виклики до Play Integrity / SafetyNet / DeviceCheck – визначте, чи можна обійти/зловити кастомну атестацію.
-
Перевірте App Links / Deep Links (
android:autoVerify
) на проблеми з перенаправленням інтенцій або відкритими перенаправленнями. -
Визначте використання WebView.addJavascriptInterface або
loadData*()
, які можуть призвести до RCE / XSS всередині програми. -
Аналізуйте крос-платформенні пакети (Flutter
libapp.so
, React-Native JS пакети, активи Capacitor/Ionic). Спеціалізовані інструменти: flutter-packer
,fluttersign
,rn-differ
- Скануйте сторонні рідні бібліотеки на наявність відомих CVE (наприклад, libwebp CVE-2023-4863, libpng, тощо).
- Оцініть правила SEMgrep Mobile, Pithus та останні результати сканування MobSF ≥ 3.9 з підтримкою AI для додаткових знахідок.
Dynamic Analysis
- Підготуйте середовище (онлайн, локальна VM або фізична)
- Чи є небажане витікання даних (логування, копіювання/вставка, журнали аварій)?
- Конфіденційна інформація, що зберігається в SQLite dbs?
- Експлуатовані експортовані активності?
- Експлуатовані постачальники контенту?
- Експлуатовані відкриті сервіси?
- Експлуатовані приймачі трансляцій?
- Чи передає програма інформацію у відкритому тексті/використовує слабкі алгоритми? Чи можливий MitM?
- Перевірте HTTP/HTTPS трафік
- Це дійсно важливо, тому що якщо ви зможете захопити HTTP-трафік, ви зможете шукати загальні веб-уразливості (Hacktricks має багато інформації про веб-уразливості).
- Перевірте можливі ін'єкції на стороні клієнта Android (можливо, деякий статичний аналіз коду допоможе тут)
- Frida: Просто Frida, використовуйте її для отримання цікавих динамічних даних з програми (можливо, деякі паролі...)
- Тестуйте на Tapjacking / атаки, що керуються анімацією (TapTrap 2025) навіть на Android 15+ (дозвіл на накладення не потрібен).
- Спробуйте накладення / SYSTEM_ALERT_WINDOW clickjacking та зловживання службою доступності для підвищення привілеїв.
-
Перевірте, чи
adb backup
/bmgr backupnow
все ще можуть скинути дані програми (програми, які забули вимкнутиallowBackup
). - Досліджуйте LPE на рівні Binder (наприклад, CVE-2023-20963, CVE-2023-20928); використовуйте фуззери ядра або PoC, якщо це дозволено.
-
Якщо Play Integrity / SafetyNet застосовується, спробуйте хуки часу виконання (
Frida Gadget
,MagiskIntegrityFix
,Integrity-faker
) або повторну передачу на рівні мережі. - Інструментуйте сучасними інструментами:
- Objection > 2.0, Frida 17+, NowSecure-Tracer (2024)
- Динамічне трасування на системному рівні з
perfetto
/simpleperf
.
Some obfuscation/Deobfuscation information
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.