Burp Suite
Instalación de certificado CA de usuario en dispositivo Android
Instalación desde GUI (automática)
1) Exportar certificado desde Burp Suite.
Burp Suite -> Proxy -> Proxy settings -> Proxy listeners -> 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 instalación del certificado CA de usuario mediante línea de comandos.
adb shell "su -c ls -la /data/misc/user/0/cacerts-added/"
8) Verificación de certificado CA de usuario desde GUI.

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 -> Usuario
Dispositivos Nexus:
Settings -> Security -> Trusted credentials
Genymotion:
Setting -> Security -> Encryption & credentials -> Trusted credentials
Android Studio:
Settings -> Security -> Encryption & credentials -> Trusted credentials
Instalación desde línea de comandos (manual)
1) Exportar certificado desde Burp Suite.
Burp Suite -> Proxy -> Proxy settings -> Proxy listeners -> 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.
adb push 9a5ba575.0 /sdcard/
adb shell
su
mv /sdcard/9a5ba575.0 /data/misc/user/0/cacerts-added/
chmod 644 /data/misc/user/0/cacerts-added/9a5ba575.0
chgrp everybody /data/misc/user/0/cacerts-added/9a5ba575.0
chown system /data/misc/user/0/cacerts-added/9a5ba575.0
7) Verificación de instalación del certificado CA de usuario mediante línea de comandos.
adb shell "su -c ls -la /data/misc/user/0/cacerts-added/"
8) Verificación de instalación del certificado CA de usuario desde GUI.

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 -> Usuario
Dispositivos Nexus:
Settings -> Security -> Trusted credentials
Genymotion:
Setting -> Security -> Encryption & credentials -> Trusted credentials
Android Studio:
Settings -> Security -> Encryption & credentials -> Trusted credentials
Instalación de certificado CA de sistema en dispositivo Android
1) Exportar certificado desde Burp Suite.
Burp Suite -> Proxy -> Proxy settings -> Proxy listeners -> 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 (directorio /system
sin permisos de escritura):
adb push 9a5ba575.0 /sdcard/
adb shell
su
mkdir -p -m 700 /data/local/tmp/ca-copy
mv /sdcard/9a5ba575.0 /data/local/tmp/ca-copy/
cp /system/etc/security/cacerts/* /data/local/tmp/ca-copy/
mount -t tmpfs tmpfs /system/etc/security/cacerts
mv /data/local/tmp/ca-copy/* /system/etc/security/cacerts/
chown root:root /system/etc/security/cacerts/*
chmod 644 /system/etc/security/cacerts/*
chcon u:object_r:system_file:s0 /system/etc/security/cacerts/*
rm -r /data/local/tmp/ca-copy
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
# 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 5 (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
7) Verificación de instalación del certificado CA de sistema mediante línea de comandos.
adb shell "su -c ls -la /system/etc/security/cacerts/9a5ba575.0"
8) Verificación de instalación del certificado CA de sistema desde GUI.

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
¿Te fue útil?