hacktricks/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md
2023-06-03 01:46:23 +00:00

1.9 KiB

Algunas aplicaciones no aceptan certificados descargados por el usuario, por lo que para inspeccionar el tráfico web de algunas aplicaciones, en realidad tenemos que descompilar la aplicación, agregar algunas cosas y volver a compilarla.

Automático

La herramienta https://github.com/shroudedcode/apk-mitm hará automáticamente los cambios necesarios en la aplicación para comenzar a capturar las solicitudes y también deshabilitará el pinning de certificados (si lo hay).

Manual

Primero descompilamos la aplicación: apktool d *nombre-del-archivo*.apk

Luego vamos al archivo Manifest.xml y nos desplazamos hasta la etiqueta <\application android> y vamos a agregar la siguiente línea si aún no está allí:

android:networkSecurityConfig="@xml/network_security_config

Antes de agregar:

Después de agregar:

Ahora vamos a la carpeta res/xml y creamos/modificamos un archivo llamado network_security_config.xml con el siguiente contenido:

<network-security-config>  
      <base-config>  
            <trust-anchors>  
                <!-- Trust preinstalled CAs -->  
                <certificates src="system" />  
                <!-- Additionally trust user added CAs -->  
                <certificates src="user" />  
           </trust-anchors>  
      </base-config>  
 </network-security-config>

Luego, guarda el archivo y sal de todos los directorios y reconstruye el apk con el siguiente comando: apktool b *nombre-de-la-carpeta/* -o *nombre-del-archivo-de-salida.apk*

Finalmente, solo necesitas firmar la nueva aplicación. Lee esta sección de la página Smali - Decompiling/[Modifying]/Compiling para aprender cómo firmarla.