Examinando tráfico HTTPS
Hola
SSL se inventó para proteger el tráfico HTTP de miradas indiscretas y malintencionadas. Al igual que pasa con el cada día más utilizado SIP, no es necesario tener demasiados conocimientos ni herramientas muy complejas para saber qué información se está intercambiando simplemente echando una ojeada a las tramas en texto claro.
SSL es un ejemplo clásico de doble cifrado en el que el intercambio de la clave simétrica que se utilizará para cifrar el flujo de datos se protege a su vez con cifrado asimétrico. Aquí está muy bien explicado:
https://support.microsoft.com/kb/257591/en-us
Me ha dado por contar esto por dos razones. La primera es porque SSL es un engorro a la hora de diagnosticar problemas u obtener información acerca del intercambio de datos entre cliente y servidor, ya que el clásico método de capturar el tráfico de red es inútil al estar los datos cifrados. La segunda es porque esto que voy a contar es una de las cosas que una pieza de malware para obtener datos privados y enviarlos a aquel a quien sirve.
Por lo general esto mismo de suele hacer mediante herramientas que usan técnicas de "man in the middle", que falsean el certificado que presenta el servidor al cliente, permitiendo el descifrado y cifrado del flujo de datos en tiempo real y que permiten a la herramienta. Sin embargo, lo que hacen las herramientas que vamos a utilizar es inyectar una dll en el proceso que va a utilizar SSL, de manera que se interceptan las llamadas a EncryptMessage y DecryptMessage (secur32.dll) además de algunas otras de Windows Sockets (ws2_32.dll / wsock32.dll) y se guardan en un log. Esto permite sacar los datos de la conversación cifrada no solamente de Internet Explorer, sino de cualquier otro navegador, aplicación o servicio que usen SSL.
Estas herramientas son STRACE y HTTPREPLAY, desarrolladas por Emmanuel Boersma, y que se pueden descargar gratuitamente de la web de Microsoft. Solo están soportadas para x86 y al instalarlas simplemente se copian los ficheros necesarios en %ProgramFiles%\STRACE y %ProgramFiles%\HTTPREPLAY respectivamente. En ambos casos hay un Readme.txt con las instrucciones detalladas.
Para capturar el tráfico, hay que hacer lo siguiente (dependiendo del entorno, es posible que tengamos que usar STRACE.dll_IE6 en ligar de STRACE.dll_IE7):
- Si queremos utilizar IE: Ejecutar el script STRACE.CMD
- Si queremos usar Firefox: Ejecutar el script STRACE_FIREFOX.CMD
- Si queremos usar una aplicación que usa SSL: withdll /d:STRACE.dll_IE7 MYAPPLICATION.EXE
- Si queremos inyectar la DLL en un proceso ya existente: injdll /p:PID /d:STRACE.dll_IE7
Esto nos generará automáticamente un LOG en el escritorio con todo el tráfico en texto claro, bastante incómodo de interpretar. Es aquí donde entra en juego HTTPREPLAY, cuya misión es la de "recrear" el tráfico generado sin que el servidor web esté presente y sin necesidad de tener que montar uno alternativo. Aqui solamente lo vamos a utilizar para echar un vistazo al tráfico almacenado en el log de una manera más amigable:
- HTTPREPLAY.CMD %userprofile%\desktop\STRACE_IEXPLORE_PID_10032.log
En este ejemplo he intentado hacer login en Live.com con una cuenta de passport, obviamente falsa:
Simplemente haciendo clic sobre los métodos se ve la información completa de la traza, y lo mismo con el status para ver las respuestas. Por ejemplo, el usuario y la contraseña utilizados en el formulario están en el POST:
Por último, algunos temas relacionados con esto:
- El post en el que el propio Emmanuel habla de sus herramientas.
- KB884931: How to use the debug version of the Wininet.dll file for Internet Explorer
- SSL Diagnostics Version 1.1
Saludos
Technorati tags: Emmanuel Boersma, SSL, STRACE, HTTPREPLAY
Comments
Anonymous
January 01, 2003
Ruben No sé lo que crees que estoy queriendo decir... :-) SaludosAnonymous
April 16, 2008
The comment has been removedAnonymous
April 16, 2008
¿No estarás queriendo decir que .....? Porque es un poco fuerte :-)Anonymous
April 17, 2008
The comment has been removedAnonymous
April 22, 2008
Aplicación práctica? http://windowstips.wordpress.com/2008/04/21/malware-y-wordpress/ ;-)Anonymous
June 27, 2008
creo que es buen producto de microsft forefront seguridad para las empresas =)Anonymous
January 21, 2014
A new release of HTTPREPLAY/ STRACE is now available at the following location: http://www.microsoft