====== 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.