mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
9.4 KiB
9.4 KiB
Android APK Checklist
{{#include ../banners/hacktricks-training.md}}
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+ – неправильно налаштовані експортовані компоненти можуть призвести до виклику зовнішніх інтенцій.- Перегляньте Конфігурацію безпеки мережі (
networkSecurityConfigXML) на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
{{#include ../banners/hacktricks-training.md}}