Burp Suite

Instalación de certificado CA de confianza de usuario en dispositivo Android

1) Exportar certificado desde Burp Suite.

  • Burp Suite -> Proxy -> Options -> Import / export CA certificate

2) Guardar certificado con nombre cacert.der.

3) Cambiar extensión al certificado exportado de .der a .cer.

cd ~/Downloads
mv cacert.der cacert.cer

4) Transferir certificado al dispositivo.

adb push cacert.cer /sdcard/Download/

5) Instalación de certificado en el dispositivo.

Dispostivos Samsung:

  • Ajustes -> Datos biométricos y seguridad -> Otros ajustes de seguridad -> Instalar desde almacenamiento

Dispositivos Xiaomi:

  • Configuración -> Contraseñas y seguridad -> Privacidad -> Encriptación y credenciales -> Instalar desde la tarjeta SD

Dispositivos Nexus:

  • Settings -> Security -> Install from SD card

Genymotion:

  • Setting -> Security -> Encryption & credentials -> Install from SD card

Android Studio:

  • Settings -> Security -> Encryption & credentials -> Install a certificate (Install certificates from SD card)

6) Reiniciar el dispositivo.

adb reboot

7) Verificación de certificado CA de confianza a nivel de usuario.

adb shell "su -c ls -la /data/misc/user/0/cacerts-added/"

Dispostivos Samsung:

  • Ajustes -> Datos biométricos y seguridad -> Otros ajustes de seguridad -> Certificados de usuario

Dispositivos Xiaomi:

  • Configuración -> Contraseñas y seguridad -> Privacidad -> Encriptación y credenciales -> Credenciales del usuario

Dispositivos Nexus:

  • Settings -> Security -> User credentials

Genymotion:

  • Setting -> Security -> Encryption & credentials -> User credentials

Android Studio:

  • Settings -> Security -> Encryption & credentials -> User credentials

Instalación de certificado CA de confianza de sistema en dispositivo Android

1) Exportar certificado desde Burp Suite.

  • Burp Suite -> Proxy -> Options -> Import / export CA certificate

2) Guardar certificado con nombre cacert.der.

3) Convertir certificado exportado de formato DER a formato PEM.

cd ~/Downloads
openssl x509 -inform DER -in cacert.der -out cacert.pem

4) Obtención de "subject hash old" del certificado en formato PEM.

  • Subject hash old = 9a5ba575

openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -1

5) Cambiar nombre de certificado a su "subject hash old" concatenado con ".0", es decir, [subject-hash-old].0.

  • Nombre certificado = cacert.pem

  • Subject hash old = 9a5ba575

  • Nombre final certificado = 9a5ba575.0

mv cacert.pem 9a5ba575.0

6) Transferir y configurar certificado en el dispositivo.

Opción 1:

adb root
adb remount
adb push 9a5ba575.0 /sdcard/
adb shell
mv /sdcard/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0
chgrp root /system/etc/security/cacerts/9a5ba575.0

Opción 2:

adb push 9a5ba575.0 /sdcard/
adb shell
su
mount -o rw,remount /
mv /sdcard/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0
chgrp root /system/etc/security/cacerts/9a5ba575.0
mount -o ro,remount /

Opción 3 (Android Studio en Windows):

# Listado de nombres de dispositivos emulados
cd C:\Users\<user>\AppData\Local\Android\Sdk\emulator
.\emulator.exe -list-avds

# Inicio de dispositivo emulado con opción de escritura
.\emulator.exe -avd <emulated-device-name> -writable-system

# Transferencia y configuración de certificado en el dispositivo emulado
.\adb.exe root
.\adb.exe remount
.\adb.exe push 9a5ba575.0 /sdcard/
.\adb.exe shell
mv /sdcard/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0
chgrp root /system/etc/security/cacerts/9a5ba575.0

Opción 4 (Android Studio en Windows):

# Listado de nombres de dispositivos emulados
cd C:\Users\<user>\AppData\Local\Android\Sdk\emulator
.\emulator.exe -list-avds

# Inicio de dispositivo emulado con opción de escritura
.\emulator.exe -avd <emulated-device-name> -writable-system -no-snapshot-load

# Configuración necesaria para evitar que emulador se “congele”
.\adb.exe root
.\adb.exe shell avbctl disable-verification
.\adb.exe reboot

# Transferencia y configuración de certificado en el dispositivo emulado
.\adb.exe root
.\adb.exe remount
.\adb.exe push 9a5ba575.0 /sdcard/
.\adb.exe shell
mv /sdcard/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0
chgrp root /system/etc/security/cacerts/9a5ba575.0

Recuerda que siempre se deberá iniciar el dispositivo emulado de Android Studio con la opción -writable-system.

7) Reiniciar el dispositivo.

adb reboot

8) Verificación de certificado CA de confianza a nivel de sistema.

Dispostivos Samsung:

  • Ajustes -> Datos biométricos y seguridad -> Otros ajustes de seguridad -> Ver certificados de seguridad

Dispositivos Xiaomi:

  • Configuración -> Contraseñas y seguridad -> Privacidad -> Encriptación y credenciales -> Credenciales de confianza

Dispositivos Nexus:

  • Settings -> Security -> Trusted credentials

Genymotion:

  • Setting -> Security -> Encryption & credentials -> Trusted credentials

Android Studio:

  • Settings -> Security -> Encryption & credentials -> Trusted credentials

Última actualización