Aplicación Java para Android MitM

2

Estoy tratando de mitigar una aplicación de Android con fines de investigación (está diseñada para romperse).

Estoy usando Burp como un proxy de ataque y ya exporté el certificado de CA de Burp y lo importé a la tienda de CA de Android.

También probé 3 herramientas diferentes que prometen romper la fijación de certificados (Android-SSLTrustKiller y otros).

Sin embargo, cada vez que configuro mi Burp como proxy, la aplicación produce el siguiente error en logcat:

09-14 20:18:07.446: W/System.err(2478): javax.net.ssl.SSLHandshakeException: 
checkServerTrusted: Expected public key: 30820122300d06092a864886f70d0......

Mi mejor suposición es que el "Entorno" de Java está usando una configuración de certificado diferente a la del resto del sistema operativo Android.

Ya puedo decodificar el navegador o los mapas de Google bien.

Entonces, ¿cómo puedo hacer que Java ignore la fijación de certificados?

    
pregunta Sebastian B. 14.09.2015 - 20:25
fuente

2 respuestas

4
  

Entonces, ¿cómo puedo hacer que Java ignore la fijación de certificados?

Para evitar la fijación de clave pública / certificado, normalmente debe realizar cambios en la aplicación, ya que la fijación se realiza allí con un administrador de confianza específico de la aplicación. Eso significa que no funciona simplemente agregar su CA como de confianza al almacén de CA de todo el sistema.

Para una reseña reciente de cómo se puede hacer esto, vea Derrotar SSL Pinning en la aplicación de Android Coin .

    
respondido por el Steffen Ullrich 14.09.2015 - 21:19
fuente
1

lo descubrí un año más tarde: usé apktool para descompilar la aplicación de Android con el código smali y eliminar el certificado que se encuentra en el código smali. ¡Lo compilé con apktool y pude mitigarlo!

Hoy en día hay muchos tutoriales que explican esto.

por ejemplo: enlace

    
respondido por el Sebastian B. 01.02.2017 - 21:55
fuente

Lea otras preguntas en las etiquetas