Digamos que estoy tratando de revertir las comunicaciones de ingeniería entre una aplicación de Android y un servidor web mediante HTTPS.
Al principio, intenté hacer MITM utilizando webmitm y un certificado falso. Pero la aplicación no se inició porque la aplicación no confía en el certificado falso utilizado por webmitm. (Digamos que la aplicación tiene su propia manera de decidir en qué certificado confía y no puedo importar el certificado falso a Android como certificado de confianza)
Así que llego a otro enfoque. Noté que tanto la aplicación como el servidor web admiten cifrados débiles (por ejemplo, TLS_RSA_EXPORT_WITH_RC4_40_MD5). Así que estoy pensando, en lugar de usar un certificado falso como un puente, hay alguna herramienta mitm que solo cambie el paquete de saludo del cliente para imponer cifrados débiles y reenviar el certificado original del servidor sin descifrar o cifrar nada en el medio.
En otras palabras, cuando la aplicación envía "Hello Webserver, soy compatible con los siguientes conjuntos de cifrado: XXX YYY ZZZ. Por favor, elija uno", la herramienta mitm intercepta este paquete y lo cambia a "Hello Webserver, solo admita TLS_RSA_EXPORT_WITH_RC4_40_MD5 "y reenvíelo al servidor web. Dado que ambos soportan este conjunto de cifrado, lo utilizarán para el resto de la comunicación. Y la herramienta mitm simplemente reenvía todo entre ellos, y registra todos los paquetes. Y luego trato de descifrar los paquetes grabados sin conexión.
¿Alguna idea?