# 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 namena](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žite [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. ### [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 curenja podataka](android-app-pentesting/index.html#unintended-data-leakage) (logovanje, kopiranje/lepiti, logovi grešaka)? - [ ] [Poverljive informacije se čuvaju u SQLite bazama](android-app-pentesting/index.html#sqlite-dbs)? - [ ] [Iskoristive izložene aktivnosti](android-app-pentesting/index.html#exploiting-exported-activities-authorisation-bypass)? - [ ] [Iskoristivi provajderi sadržaja](android-app-pentesting/index.html#exploiting-content-providers-accessing-and-manipulating-sensitive-information)? - [ ] [Iskoristivi izloženi servisi](android-app-pentesting/index.html#exploiting-services)? - [ ] [Iskoristivi 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ć? - [ ] [Inspekcija HTTP/HTTPS saobraćaja](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 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 da dobijete zanimljive dinamičke podatke iz aplikacije (možda neke lozinke...) ### Some obfuscation/Deobfuscation information - [ ] [Pročitajte ovde](android-app-pentesting/index.html#obfuscating-deobfuscating-code) {{#include ../banners/hacktricks-training.md}}