====== Inspeccionant aplicacions Android amb ZAP ====== [[ZAP]] és una eina d'OWASP que ens permet proxificar les comunicacions i inspeccionar el seu contingut. {{ :burp:browser-no-proxy.png?400 }} {{tag> #Ciber #Ceti #CiberMp03 #CetiMp03 proxy Android app}} ===== Descarregar aplicació amb comunicacions ===== Podeu descarregar aquesta simple aplicació extreta de l'article [[Android threads]] per realitzar una crida a una API externa per HTTPS: $ git clone https://github.com/iocpro/android-simple-com Obrirem l'aplicació amb Android Studio i la posarem en marxa a l'emulador. \\ ===== Instal·lar certificats de ZAP a l'emulador ===== Per tal de poder llegir les comunicacions caldrà instal·lar els certificats de ZAP dins de les CAs de confiança de l'emulador: - Anar a ZAP:Tools -> Options -> Network -> Server Certificates - Guardar el certificat (''zap_root_ca.cer'') - Anar a Android Studio:Device Manager -> menú VM (3 punts) -> Open in Device Explorer - Carregar el certificat a ''Documents'':/sdcard/Documents -> Botó dret -> Upload -> zap_root_ca.cer - A l'emulador:Settings -> Security -> More Security Settings -> Encryption and Credentials -> Install a Certificate -> CA Certificate -> Install Anyway - Seleccionem el certificat aMenu -> SD Card -> Documents -> zap_root_ca.cer Ens hauria de dir "CA installed". \\ ===== Proxificar l'emulador ===== Consulta a quin port escolta ZAP les comunicacions:Tools -> Options -> Network -> Local Servers / Proxies -> Main Proxy Per defecte sol ser localhost:8080 Anem a l'emulador i configurem el proxy: Settings -> Network & Internet -> Internet -> Wi-Fi -> Network Details -> Edit -> Advanced Options -> Proxy -> Manual Proxy Settings: * Host: **10.0.2.2** (des de dins de l'emulador, la màquina física es pot accedir amb aquesta adreça) * Port: **8080** (el què tinguem configurat a ZAP) * IP: DHCP És possible que calgui **forçar les comunicacions del mòbil a través de la Wifi** (que son les comunicacions que hem proxificat), deshabilitant les comunicacions de la xarxa mòbil. Per a aconseguir-ho, anar a la configuració de Settings -> Network & Internet -> Internet -> SIMs -> T-Mobile -> Mobile Data -> Off En algunes configuracions de sistema operatiu potser falla l'emulador a l'utilitzar el //browser// Google Chrome. Si es donés el cas, instal·lar una VM **Android sense Google APIs i fer servir WebView** enlloc de Chrome. \\ ===== Exercicis ===== - Instal·la ZAP i Android Studio, i compila i posa en marxa l'aplicació android-simple-com. - Ajusta la VM Android perquè utilitzi el Proxy ZAP, instal·lant la CA adequada. - Comprova que el trànsit HTTPS es pot veure a ZAP quan naveguem amb un //browser//. - Comprova que el trànsit HTTPS de l'app android-simple-com no es registra a ZAP. - Tria una app que sapiguem que té comunicacions externes, i instal·la-la a la VM Android. Comprova si les seves comunicacions s'intervenen per ZAP o no.