mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
79 lines
7.1 KiB
Markdown
79 lines
7.1 KiB
Markdown
# Lista kontrolna APK Androida
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
|
||
### [Poznaj podstawy Androida](android-app-pentesting/index.html#2-android-application-fundamentals)
|
||
|
||
- [ ] [Podstawy](android-app-pentesting/index.html#fundamentals-review)
|
||
- [ ] [Dalvik i Smali](android-app-pentesting/index.html#dalvik--smali)
|
||
- [ ] [Punkty wejścia](android-app-pentesting/index.html#application-entry-points)
|
||
- [ ] [Aktywności](android-app-pentesting/index.html#launcher-activity)
|
||
- [ ] [Schematy URL](android-app-pentesting/index.html#url-schemes)
|
||
- [ ] [Dostawcy treści](android-app-pentesting/index.html#services)
|
||
- [ ] [Usługi](android-app-pentesting/index.html#services-1)
|
||
- [ ] [Odbiorniki rozgłoszeniowe](android-app-pentesting/index.html#broadcast-receivers)
|
||
- [ ] [Intencje](android-app-pentesting/index.html#intents)
|
||
- [ ] [Filtr intencji](android-app-pentesting/index.html#intent-filter)
|
||
- [ ] [Inne komponenty](android-app-pentesting/index.html#other-app-components)
|
||
- [ ] [Jak używać ADB](android-app-pentesting/index.html#adb-android-debug-bridge)
|
||
- [ ] [Jak modyfikować Smali](android-app-pentesting/index.html#smali)
|
||
|
||
### [Analiza statyczna](android-app-pentesting/index.html#static-analysis)
|
||
|
||
- [ ] Sprawdź użycie [obfuskacji](android-checklist.md#some-obfuscation-deobfuscation-information), sprawdź, czy urządzenie mobilne było zrootowane, czy używany jest emulator oraz sprawdzenia antytamperowe. [Przeczytaj to, aby uzyskać więcej informacji](android-app-pentesting/index.html#other-checks).
|
||
- [ ] 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](android-app-pentesting/index.html#looking-for-interesting-info) (hasła, URL, API, szyfrowanie, backdoory, tokeny, UUID Bluetooth...).
|
||
- [ ] Szczególna uwaga na [firebase](android-app-pentesting/index.html#firebase)API.
|
||
- [ ] [Przeczytaj manifest:](android-app-pentesting/index.html#basic-understanding-of-the-application-manifest-xml)
|
||
- [ ] 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](android-app-pentesting/index.html#insecure-data-storage)?
|
||
- [ ] Czy jakiekolwiek [hasło jest zakodowane na stałe lub zapisane na dysku](android-app-pentesting/index.html#poorkeymanagementprocesses)? Czy aplikacja [używa niebezpiecznych algorytmów kryptograficznych](android-app-pentesting/index.html#useofinsecureandordeprecatedalgorithms)?
|
||
- [ ] Wszystkie biblioteki skompilowane z użyciem flagi PIE?
|
||
- [ ] Nie zapomnij, że istnieje wiele [statycznych analizatorów Androida](android-app-pentesting/index.html#automatic-analysis), 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ątem `cleartextTrafficPermitted="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](android-app-pentesting/index.html#dynamic-analysis)
|
||
|
||
- [ ] Przygotuj środowisko ([online](android-app-pentesting/index.html#online-dynamic-analysis), [lokalna VM lub fizyczna](android-app-pentesting/index.html#local-dynamic-analysis))
|
||
- [ ] Czy występuje jakiekolwiek [niezamierzone wyciekanie danych](android-app-pentesting/index.html#unintended-data-leakage) (logowanie, kopiowanie/wklejanie, logi awarii)?
|
||
- [ ] [Poufne informacje zapisywane w bazach danych SQLite](android-app-pentesting/index.html#sqlite-dbs)?
|
||
- [ ] [Wykorzystywalne eksportowane Aktywności](android-app-pentesting/index.html#exploiting-exported-activities-authorisation-bypass)?
|
||
- [ ] [Wykorzystywalne Dostawcy treści](android-app-pentesting/index.html#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
|
||
- [ ] [Wykorzystywalne eksponowane Usługi](android-app-pentesting/index.html#exploiting-services)?
|
||
- [ ] [Wykorzystywalne Odbiorniki rozgłoszeniowe](android-app-pentesting/index.html#exploiting-broadcast-receivers)?
|
||
- [ ] Czy aplikacja [przesyła informacje w czystym tekście/używa słabych algorytmów](android-app-pentesting/index.html#insufficient-transport-layer-protection)? Czy możliwe jest MitM?
|
||
- [ ] [Inspekcja ruchu HTTP/HTTPS](android-app-pentesting/index.html#inspecting-http-traffic)
|
||
- [ ] 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](android-app-pentesting/index.html#android-client-side-injections-and-others) (prawdopodobnie analiza statyczna pomoże tutaj).
|
||
- [ ] [Frida](android-app-pentesting/index.html#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
|
||
|
||
- [ ] [Przeczytaj tutaj](android-app-pentesting/index.html#obfuscating-deobfuscating-code)
|
||
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|