Taula de continguts

Inspeccionant aplicacions Android amb ZAP

ZAP és una eina d'OWASP que ens permet proxificar les comunicacions i inspeccionar el seu contingut.

, , , , , ,

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:

  1. Anar a ZAP:
    Tools -> Options -> Network -> Server Certificates
  2. Guardar el certificat (zap_root_ca.cer)
  3. Anar a Android Studio:
    Device Manager -> menú VM (3 punts) -> Open in Device Explorer
  4. Carregar el certificat a Documents:
    /sdcard/Documents -> Botó dret -> Upload -> zap_root_ca.cer
  5. A l'emulador:
    Settings -> Security -> More Security Settings -> Encryption and Credentials -> Install a Certificate -> CA Certificate -> Install Anyway
  6. Seleccionem el certificat a
    Menu -> 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:

É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

  1. Instal·la ZAP i Android Studio, i compila i posa en marxa l'aplicació android-simple-com.
  2. Ajusta la VM Android perquè utilitzi el Proxy ZAP, instal·lant la CA adequada.
  3. Comprova que el trànsit HTTPS es pot veure a ZAP quan naveguem amb un browser.
  4. Comprova que el trànsit HTTPS de l'app android-simple-com no es registra a ZAP.
  5. 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.