mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
79 lines
6.8 KiB
Markdown
79 lines
6.8 KiB
Markdown
# Android APK Checklist
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
|
||
### [Learn Android fundamentals](android-app-pentesting/index.html#2-android-application-fundamentals)
|
||
|
||
- [ ] [Osnovi](android-app-pentesting/index.html#fundamentals-review)
|
||
- [ ] [Dalvik & Smali](android-app-pentesting/index.html#dalvik--smali)
|
||
- [ ] [Ulazne tačke](android-app-pentesting/index.html#application-entry-points)
|
||
- [ ] [Aktivnosti](android-app-pentesting/index.html#launcher-activity)
|
||
- [ ] [URL sheme](android-app-pentesting/index.html#url-schemes)
|
||
- [ ] [Provajderi sadržaja](android-app-pentesting/index.html#services)
|
||
- [ ] [Servisi](android-app-pentesting/index.html#services-1)
|
||
- [ ] [Broadcast prijemnici](android-app-pentesting/index.html#broadcast-receivers)
|
||
- [ ] [Intenti](android-app-pentesting/index.html#intents)
|
||
- [ ] [Filter inteta](android-app-pentesting/index.html#intent-filter)
|
||
- [ ] [Ostale komponente](android-app-pentesting/index.html#other-app-components)
|
||
- [ ] [Kako koristiti ADB](android-app-pentesting/index.html#adb-android-debug-bridge)
|
||
- [ ] [Kako modifikovati Smali](android-app-pentesting/index.html#smali)
|
||
|
||
### [Static Analysis](android-app-pentesting/index.html#static-analysis)
|
||
|
||
- [ ] Proverite upotrebu [obfuskacije](android-checklist.md#some-obfuscation-deobfuscation-information), proverite da li je mobilni uređaj root-ovan, da li se koristi emulator i provere protiv manipulacije. [Pročitajte ovo za više informacija](android-app-pentesting/index.html#other-checks).
|
||
- [ ] Osetljive aplikacije (kao što su bankarske aplikacije) treba da provere da li je mobilni uređaj root-ovan i da reaguju u skladu s tim.
|
||
- [ ] Pretražujte [interesantne stringove](android-app-pentesting/index.html#looking-for-interesting-info) (lozinke, URL-ove, API, enkripciju, backdoor-e, tokene, Bluetooth uuids...).
|
||
- [ ] Posebna pažnja na [firebase](android-app-pentesting/index.html#firebase) API-je.
|
||
- [ ] [Pročitajte manifest:](android-app-pentesting/index.html#basic-understanding-of-the-application-manifest-xml)
|
||
- [ ] Proverite da li je aplikacija u režimu debagovanja i pokušajte da je "iskoristite"
|
||
- [ ] Proverite da li APK dozvoljava pravljenje rezervnih kopija
|
||
- [ ] Izvezene aktivnosti
|
||
- [ ] Provajderi sadržaja
|
||
- [ ] Izloženi servisi
|
||
- [ ] Broadcast prijemnici
|
||
- [ ] URL sheme
|
||
- [ ] Da li aplikacija [čuva podatke nesigurno interno ili eksterno](android-app-pentesting/index.html#insecure-data-storage)?
|
||
- [ ] Da li postoji neka [lozinka hardkodirana ili sačuvana na disku](android-app-pentesting/index.html#poorkeymanagementprocesses)? Da li aplikacija [koristi nesigurne kripto algoritme](android-app-pentesting/index.html#useofinsecureandordeprecatedalgorithms)?
|
||
- [ ] Da li su sve biblioteke kompajlirane koristeći PIE flag?
|
||
- [ ] Ne zaboravite da postoji mnogo [statickih Android analitičara](android-app-pentesting/index.html#automatic-analysis) koji vam mogu mnogo pomoći tokom ove faze.
|
||
- [ ] `android:exported` **obavezno na Android 12+** – pogrešno konfigurisani izvezene komponente mogu dovesti do spoljne invokacije inteta.
|
||
- [ ] Pregledajte **Network Security Config** (`networkSecurityConfig` XML) za `cleartextTrafficPermitted="true"` ili specifične domenske preklapanja.
|
||
- [ ] Potražite pozive ka **Play Integrity / SafetyNet / DeviceCheck** – utvrdite da li se može zaobići prilagođena attestacija.
|
||
- [ ] Istražite **App Links / Deep Links** (`android:autoVerify`) zbog problema sa preusmeravanjem inteta ili otvorenim preusmeravanjima.
|
||
- [ ] Identifikujte upotrebu **WebView.addJavascriptInterface** ili `loadData*()` koje mogu dovesti do RCE / XSS unutar aplikacije.
|
||
- [ ] Analizirajte cross-platform pakete (Flutter `libapp.so`, React-Native JS paketi, Capacitor/Ionic resursi). Posvećeni alati:
|
||
- `flutter-packer`, `fluttersign`, `rn-differ`
|
||
- [ ] Skenerite treće strane native biblioteke za poznate CVE (npr., **libwebp CVE-2023-4863**, **libpng**, itd.).
|
||
- [ ] Procijenite **SEMgrep Mobile pravila**, **Pithus** i najnovije **MobSF ≥ 3.9** AI-pomoćene rezultate skeniranja za dodatne nalaze.
|
||
|
||
### [Dynamic Analysis](android-app-pentesting/index.html#dynamic-analysis)
|
||
|
||
- [ ] Pripremite okruženje ([online](android-app-pentesting/index.html#online-dynamic-analysis), [lokalna VM ili fizička](android-app-pentesting/index.html#local-dynamic-analysis))
|
||
- [ ] Da li postoji neka [neprikazana curenje podataka](android-app-pentesting/index.html#unintended-data-leakage) (logovanje, kopiranje/lepiti, logovi grešaka)?
|
||
- [ ] [Poverljive informacije se čuvaju u SQLite bazama podataka](android-app-pentesting/index.html#sqlite-dbs)?
|
||
- [ ] [Iskorišćene izložene aktivnosti](android-app-pentesting/index.html#exploiting-exported-activities-authorisation-bypass)?
|
||
- [ ] [Iskorišćeni provajderi sadržaja](android-app-pentesting/index.html#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
|
||
- [ ] [Iskorišćeni izloženi servisi](android-app-pentesting/index.html#exploiting-services)?
|
||
- [ ] [Iskorišćeni Broadcast prijemnici](android-app-pentesting/index.html#exploiting-broadcast-receivers)?
|
||
- [ ] Da li aplikacija [prenosi informacije u čistom tekstu/koristi slabe algoritme](android-app-pentesting/index.html#insufficient-transport-layer-protection)? Da li je MitM moguć?
|
||
- [ ] [Istražite HTTP/HTTPS saobraćaj](android-app-pentesting/index.html#inspecting-http-traffic)
|
||
- [ ] Ovo je zaista važno, jer ako možete uhvatiti HTTP saobraćaj možete tražiti uobičajene Web ranjivosti (Hacktricks ima mnogo informacija o Web ranjivostima).
|
||
- [ ] Proverite moguće [Android klijentske strane injekcije](android-app-pentesting/index.html#android-client-side-injections-and-others) (verovatno će neka statička analiza koda pomoći ovde)
|
||
- [ ] [Frida](android-app-pentesting/index.html#frida): Samo Frida, koristite je za dobijanje interesantnih dinamičkih podataka iz aplikacije (možda neke lozinke...)
|
||
- [ ] Testirajte za **Tapjacking / napade vođene animacijom (TapTrap 2025)** čak i na Android 15+ (nije potrebna dozvola za preklapanje).
|
||
- [ ] Pokušajte **overlay / SYSTEM_ALERT_WINDOW clickjacking** i **zloupotrebu usluge pristupa** za eskalaciju privilegija.
|
||
- [ ] Proverite da li `adb backup` / `bmgr backupnow` još uvek može da izvuče podatke aplikacije (aplikacije koje su zaboravile da onemoguće `allowBackup`).
|
||
- [ ] Istražite **Binder-level LPEs** (npr., **CVE-2023-20963, CVE-2023-20928**); koristite kernel fuzzere ili PoC-ove ako je dozvoljeno.
|
||
- [ ] Ako je Play Integrity / SafetyNet primenjen, pokušajte runtime hook-ove (`Frida Gadget`, `MagiskIntegrityFix`, `Integrity-faker`) ili ponavljanje na mrežnom nivou.
|
||
- [ ] Instrumentujte sa modernim alatima:
|
||
- **Objection > 2.0**, **Frida 17+**, **NowSecure-Tracer (2024)**
|
||
- Dinamičko praćenje sistema sa `perfetto` / `simpleperf`.
|
||
|
||
### Some obfuscation/Deobfuscation information
|
||
|
||
- [ ] [Pročitajte ovde](android-app-pentesting/index.html#obfuscating-deobfuscating-code)
|
||
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|