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

43 lines
1.9 KiB
Markdown

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**](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`
![](../../.gitbook/assets/img9.png)
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:
![](../../.gitbook/assets/img10.png)
Después de agregar:
![](../../.gitbook/assets/img11.png)
Ahora vamos a la carpeta **res/xml** y creamos/modificamos un archivo llamado network_security_config.xml con el siguiente contenido:
```markup
<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*`
![](../../.gitbook/assets/img12.png)
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](smali-changes.md#sing-the-new-apk).