hacktricks/src/mobile-pentesting/android-checklist.md

62 lines
4.5 KiB
Markdown

# Android APK Checklist
{{#include ../banners/hacktricks-training.md}}
### [Learn Android fundamentals](android-app-pentesting/#2-android-application-fundamentals)
- [ ] [Osnovi](android-app-pentesting/#fundamentals-review)
- [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali)
- [ ] [Ulazne tačke](android-app-pentesting/#application-entry-points)
- [ ] [Aktivnosti](android-app-pentesting/#launcher-activity)
- [ ] [URL sheme](android-app-pentesting/#url-schemes)
- [ ] [Provajderi sadržaja](android-app-pentesting/#services)
- [ ] [Servisi](android-app-pentesting/#services-1)
- [ ] [Broadcast prijemnici](android-app-pentesting/#broadcast-receivers)
- [ ] [Intenti](android-app-pentesting/#intents)
- [ ] [Filter namera](android-app-pentesting/#intent-filter)
- [ ] [Ostale komponente](android-app-pentesting/#other-app-components)
- [ ] [Kako koristiti ADB](android-app-pentesting/#adb-android-debug-bridge)
- [ ] [Kako modifikovati Smali](android-app-pentesting/#smali)
### [Static Analysis](android-app-pentesting/#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/#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žite [zanimljive stringove](android-app-pentesting/#looking-for-interesting-info) (lozinke, URL-ove, API, enkripciju, backdoor-e, tokene, Bluetooth uuids...).
- [ ] Posebna pažnja na [firebase](android-app-pentesting/#firebase) API-je.
- [ ] [Pročitajte manifest:](android-app-pentesting/#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/#insecure-data-storage)?
- [ ] Da li postoji neka [lozinka hardkodirana ili sačuvana na disku](android-app-pentesting/#poorkeymanagementprocesses)? Da li aplikacija [koristi nesigurne kripto algoritme](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
- [ ] Da li su sve biblioteke kompajlirane koristeći PIE flag?
- [ ] Ne zaboravite da postoji mnogo [statickih Android analitičara](android-app-pentesting/#automatic-analysis) koji vam mogu mnogo pomoći tokom ove faze.
### [Dynamic Analysis](android-app-pentesting/#dynamic-analysis)
- [ ] Pripremite okruženje ([online](android-app-pentesting/#online-dynamic-analysis), [lokalna VM ili fizička](android-app-pentesting/#local-dynamic-analysis))
- [ ] Da li postoji neka [neprikazana curenja podataka](android-app-pentesting/#unintended-data-leakage) (logovanje, kopiranje/lepiti, logovi grešaka)?
- [ ] [Poverljive informacije se čuvaju u SQLite bazama](android-app-pentesting/#sqlite-dbs)?
- [ ] [Iskoristive izložene aktivnosti](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
- [ ] [Iskoristivi provajderi sadržaja](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
- [ ] [Iskoristivi izloženi servisi](android-app-pentesting/#exploiting-services)?
- [ ] [Iskoristivi broadcast prijemnici](android-app-pentesting/#exploiting-broadcast-receivers)?
- [ ] Da li aplikacija [prenosi informacije u čistom tekstu/koristi slabe algoritme](android-app-pentesting/#insufficient-transport-layer-protection)? Da li je MitM moguć?
- [ ] [Inspekcija HTTP/HTTPS saobraćaja](android-app-pentesting/#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 injekcije](android-app-pentesting/#android-client-side-injections-and-others) (verovatno će neka statička analiza koda pomoći ovde)
- [ ] [Frida](android-app-pentesting/#frida): Samo Frida, koristite je da dobijete zanimljive dinamičke podatke iz aplikacije (možda neke lozinke...)
### Some obfuscation/Deobfuscation information
- [ ] [Pročitajte ovde](android-app-pentesting/#obfuscating-deobfuscating-code)
{{#include ../banners/hacktricks-training.md}}