Lista kontrolna APK Androida
Reading time: 5 minutes
tip
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
Poznaj podstawy Androida
- Podstawy
- Dalvik i Smali
- Punkty wejścia
- Aktywności
- Schematy URL
- Dostawcy treści
- Usługi
- Odbiorniki rozgłoszeniowe
- Intencje
- Filtr intencji
- Inne komponenty
- Jak używać ADB
- Jak modyfikować Smali
Analiza statyczna
- Sprawdź użycie obfuskacji, sprawdź, czy urządzenie mobilne było zrootowane, czy używany jest emulator oraz sprawdzenia antytamperowe. Przeczytaj to, aby uzyskać więcej informacji.
- Wrażliwe aplikacje (jak aplikacje bankowe) powinny sprawdzić, czy urządzenie mobilne jest zrootowane i działać w konsekwencji.
- Szukaj interesujących ciągów (hasła, URL, API, szyfrowanie, backdoory, tokeny, UUID Bluetooth...).
- Szczególna uwaga na firebaseAPI.
- Przeczytaj manifest:
- Sprawdź, czy aplikacja jest w trybie debugowania i spróbuj ją "wykorzystać".
- Sprawdź, czy APK pozwala na tworzenie kopii zapasowych.
- Eksportowane Aktywności.
- Dostawcy treści.
- Ekspozycja usług.
- Odbiorniki rozgłoszeniowe.
- Schematy URL.
- Czy aplikacja zapisuje dane w sposób niebezpieczny wewnętrznie lub zewnętrznie?
- Czy jakiekolwiek hasło jest zakodowane na stałe lub zapisane na dysku? Czy aplikacja używa niebezpiecznych algorytmów kryptograficznych?
- Wszystkie biblioteki skompilowane z użyciem flagi PIE?
- Nie zapomnij, że istnieje wiele statycznych analizatorów Androida, które mogą bardzo pomóc w tym etapie.
-
android:exported
obowiązkowe w Androidzie 12+ – źle skonfigurowane komponenty eksportowane mogą prowadzić do wywołania intencji zewnętrznych. -
Przejrzyj Konfigurację zabezpieczeń sieci (
networkSecurityConfig
XML) pod kątemcleartextTrafficPermitted="true"
lub specyficznych dla domeny nadpisów. - Szukaj wywołań do Play Integrity / SafetyNet / DeviceCheck – określ, czy niestandardowa atestacja może być podłączona/obejście.
-
Sprawdź Linki aplikacji / Linki głębokie (
android:autoVerify
) pod kątem problemów z przekierowaniem intencji lub otwartymi przekierowaniami. -
Zidentyfikuj użycie WebView.addJavascriptInterface lub
loadData*()
, które mogą prowadzić do RCE / XSS wewnątrz aplikacji. -
Analizuj pakiety wieloplatformowe (Flutter
libapp.so
, pakiety JS React-Native, zasoby Capacitor/Ionic). Dedykowane narzędzia: flutter-packer
,fluttersign
,rn-differ
- Skanuj zewnętrzne biblioteki natywne pod kątem znanych CVE (np. libwebp CVE-2023-4863, libpng, itp.).
- Oceń reguły SEMgrep Mobile, Pithus oraz najnowsze wyniki skanowania wspomaganego AI MobSF ≥ 3.9 w poszukiwaniu dodatkowych ustaleń.
Analiza dynamiczna
- Przygotuj środowisko (online, lokalna VM lub fizyczna)
- Czy występuje jakiekolwiek niezamierzone wyciekanie danych (logowanie, kopiowanie/wklejanie, logi awarii)?
- Poufne informacje zapisywane w bazach danych SQLite?
- Wykorzystywalne eksportowane Aktywności?
- Wykorzystywalne Dostawcy treści?
- Wykorzystywalne eksponowane Usługi?
- Wykorzystywalne Odbiorniki rozgłoszeniowe?
- Czy aplikacja przesyła informacje w czystym tekście/używa słabych algorytmów? Czy możliwe jest MitM?
- Inspekcja ruchu HTTP/HTTPS
- To jest naprawdę ważne, ponieważ jeśli możesz przechwycić ruch HTTP, możesz szukać powszechnych luk w zabezpieczeniach w sieci (Hacktricks ma wiele informacji na temat luk w zabezpieczeniach w sieci).
- Sprawdź możliwe wstrzyknięcia po stronie klienta Androida (prawdopodobnie analiza statyczna pomoże tutaj).
- Frida: Po prostu Frida, użyj jej, aby uzyskać interesujące dane dynamiczne z aplikacji (może jakieś hasła...).
- Testuj pod kątem Tapjacking / Ataków opartych na animacji (TapTrap 2025) nawet na Androidzie 15+ (nie wymaga uprawnień do nakładania).
- Spróbuj nakładania / SYSTEM_ALERT_WINDOW clickjacking oraz nadużycia usługi dostępności w celu eskalacji uprawnień.
-
Sprawdź, czy
adb backup
/bmgr backupnow
nadal może zrzucać dane aplikacji (aplikacje, które zapomniały wyłączyćallowBackup
). - Sprawdź LPE na poziomie Binders (np. CVE-2023-20963, CVE-2023-20928); użyj fuzzersów jądra lub PoC, jeśli to dozwolone.
-
Jeśli Play Integrity / SafetyNet jest egzekwowane, spróbuj haków w czasie rzeczywistym (
Frida Gadget
,MagiskIntegrityFix
,Integrity-faker
) lub powtórzenia na poziomie sieci. - Instrumentuj nowoczesnymi narzędziami:
- Objection > 2.0, Frida 17+, NowSecure-Tracer (2024)
- Dynamiczne śledzenie systemowe z
perfetto
/simpleperf
.
Informacje o obfuskacji/deobfuskacji
tip
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.