Контрольний список Android APK

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

Вивчіть основи Android

Статичний аналіз

  • Перевірити використання obfuscation, перевірки на виявлення, чи пристрій рутований, чи використовується емулятор, та anti-tampering перевірки. Читати більше.
  • Чутливі додатки (наприклад банківські) повинні перевіряти, чи пристрій рутований, і діяти відповідно.
  • Шукати цікаві рядки (паролі, URL, API, encryption, backdoors, токени, Bluetooth uuids…).
  • Особлива увага до firebase APIs.
  • Прочитати manifest:
  • Перевірити, чи додаток у debug-режимі, і спробувати «експлуатувати» це
  • Перевірити, чи APK дозволяє backups
  • Exported Activities
  • Unity Runtime: exported UnityPlayerActivity/UnityPlayerGameActivity with a unity CLI extras bridge. Test -xrsdk-pre-init-library <abs-path> for pre-init dlopen() RCE. See Intent Injection → Unity Runtime.
  • Content Providers
  • Exposed services
  • Broadcast Receivers
  • URL Schemes
  • Чи додаток зберігає дані ненадійно внутрішньо або зовнішньо? (див. insecure data storage)
  • Чи є десь хардкодований пароль або збережений на диску? (див. poorkeymanagementprocesses). Чи використовує додаток небезпечні криптоалгоритми? (див. useofinsecureandordeprecatedalgorithms)
  • Всі бібліотеки скомпільовані з PIE flag?
  • Не забувайте про велику кількість static Android Analyzers, які значно допоможуть на цьому етапі.
  • android:exported обов’язковий на Android 12+ – неправильно сконфігуровані exported компоненти можуть дозволити зовнішній виклик intent.
  • Перегляньте Network Security Config (networkSecurityConfig XML) на предмет cleartextTrafficPermitted="true" або домен-специфічних винятків.
  • Шукайте виклики до Play Integrity / SafetyNet / DeviceCheck – визначте, чи можна підключити/обійти кастомну атестацію.
  • Перевірте App Links / Deep Links (android:autoVerify) на наявність intent-redirection або open-redirect проблем.
  • Виявляйте використання WebView.addJavascriptInterface або loadData*() — може призвести до RCE / XSS всередині додатка.
  • Аналізуйте крос-платформні бандли (Flutter libapp.so, React-Native JS bundles, Capacitor/Ionic assets). Спеціалізовані інструменти:
  • flutter-packer, fluttersign, rn-differ
  • Скануйте сторонні native-бібліотеки на відомі CVE (наприклад, libwebp CVE-2023-4863, libpng, тощо).
  • Оцініть результати правил SEMgrep Mobile, Pithus та AI-assisted сканування останньої MobSF ≥ 3.9 для додаткових знахідок.
  • Перевірте OEM ROM додатки (OxygenOS/ColorOS/MIUI/OneUI) на додаткові exported ContentProviders, які обходять дозволи; спробуйте content query --uri content://com.android.providers.telephony/ServiceNumberProvider без READ_SMS (наприклад, OnePlus CVE-2025-10184).

Динамічний аналіз

  • Підготуйте середовище (online, локальна VM або фізичний пристрій)
  • Чи є ненавмисна втрата даних (logging, copy/paste, crash logs)? (див. unintended data leakage)
  • Конфіденційна інформація зберігається в SQLite dbs?
  • Експлуатовані exported Activities?
  • Експлуатовані Content Providers?
  • Експлуатовані exposed Services?
  • Експлуатовані Broadcast Receivers?
  • Чи передає додаток інформацію у відкритому вигляді/використовує слабкі алгоритми? Чи можливий MitM?
  • Проінспектуйте HTTP/HTTPS трафік
  • Це дуже важливо: якщо вдається перехопити HTTP-трафік, можна шукати звичні Web вразливості (Hacktricks має багато інформації про web vulns).
  • Перевірте можливі Android Client Side Injections (статичний аналіз коду тут може допомогти).
  • Frida: Просто Frida — використовуйте її, щоб отримати цікаві динамічні дані з додатка (можливо паролі…)
  • Тестуйте на Tapjacking / Animation-driven attacks (TapTrap 2025) навіть на Android 15+ (не потрібен дозвіл на overlay).
  • Спробуйте overlay / SYSTEM_ALERT_WINDOW clickjacking та Accessibility Service abuse для підвищення привілеїв.
  • Перевірте, чи adb backup / bmgr backupnow все ще можуть дампити дані додатка (додатки, що забули вимкнути allowBackup).
  • Дослідіть Binder-level LPEs (наприклад, CVE-2023-20963, CVE-2023-20928); використовуйте kernel fuzzers або PoC, якщо дозволено.
  • Якщо Play Integrity / SafetyNet застосовуються, спробуйте runtime hooks (Frida Gadget, MagiskIntegrityFix, Integrity-faker) або network-level replay. Останні форки Play Integrity Fix (≥17.x) вбудовують playcurl — зосередьтеся на комбінаціях ZygiskNext + PIF + ZygiskAssistant/TrickyStore, щоб відновити DEVICE/STRONG verdicts.
  • Інструментуйте з сучасними тулзами:
  • Objection > 2.0, Frida 17+ (Android 16 support, ART offset fixes), NowSecure-Tracer (2024)
  • Dynamic system-wide tracing with perfetto / simpleperf.
  • Для багів OEM telephony/provider (наприклад, OxygenOS CVE-2025-10184), спробуйте читання/відправку SMS без дозволів через content CLI або in-app ContentResolver; протестуйте blind SQLi в update() для ексфільтрації рядків.

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