Entre servidores
|
MTLS
|
De cliente a servidor
|
TLS
|
Mensajería instantánea y presencia
|
TLS (si se ha configurado para TLS)
|
Audio, vídeo y uso compartido de escritorio
|
SRTP
|
Uso compartido de escritorio (señalización)
|
TLS
|
Conferencia web
|
TLS
|
Descarga del contenido de las reuniones, descarga de la libreta de direcciones y expansión de grupos de distribución
|
HTTPS
|
El problema viene dado cuando queréis ver porque el cliente Lync no conecta, o que tipo de DSCP utiliza nuestro cliente Lync cuando iniciamos una conferencia, etc.. y nos encontramos con esto….
Como se puede observar el tráfico está cifrado y sería imposible revisar nada, hasta aqui todo correcto. Pero claro, si queremos analizar cúal es el posible problema que tenemos resultaría imposible. Con Wireshark (y otras herramientas) podemos desencriptar el tráfico SSL (desencriptar no es igual a «juankear» ni similar) para poder analizarlo. Para esto necesitamos tener el certificado que utiliza el servidor al cual nos queremos conectar con su clave privada, de tal forma que tenemos que exportarlo desde el servidor con ella. Si no tenemos la clave privada no podemos hacer nada, para ello debemos tener acceso a ello. De ahí el comentario anterior de que no estamos hackeando nada de nada, puesto que el certificado con su clave privada la exportamos nosotros. Este artículo solo predente mostrar un procedimiento que debéis seguir para analizar el tráfico SSL o TLS que utiliza Lync (o cualquier otro servicio) para cifrar las comunicaciones. Una vez que tenemos nuestro certificado exportado con su correspondiente clave privada: (
Exportación e Importación Certificados en Windows Server 2012)
Demos convertir el PFX a PEM, que es el formato que
Wireshark puede utilizar y para ello utilizaremos
OpenSSL. Una vez instalado debemos ejecutar los siguientes comandos:
openssl pkcs12 -nodes -in SIP.pfx -out sip.pem -nocerts -nodes
openssl rsa -in sip.pem -out sipout.pem
Ahora deberíais tener un fichero con el nombre sipout.pem (cada uno que ponga el nombre que quiera) similar a este (sin los puntitos, esto lo he puesto yo)
—–BEGIN RSA PRIVATE KEY—–
MIIEpAIBAAKCAQEAiFBWj/E7y6MAMUWacV2aeSpt/j2wHzB7xIYBCMnJy0u869eb
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………….
ufZSuWUFoiu1XPS6vWPtQ8VRjb0a4hGXSMYDxyupDgEAgRDIMN0jyW1PklbsOZOb
aJWQWC5UQuoWEP4gw+3aC87UTGrk8U10X0DpQdfyD3Bjwwvai3mEYw==
Ahora debemos configurar nuestro Wireshark para que utilice el fichero de clave privada, para ello abrimos el Wireshark y vamos a Edit – Preferences (Shift+Ctrl+P)
Desplegamos la opción de Protocol, seleccionamos SSL y pulsamos en Edit…
Pulsamos en New
Y configuramos las siguientes opciones:
IP Address: IP del servidor en donde esté instalado el certificado
Puerto: 443
Protocolo: HTTP
Key File: Elegimos el fichero que anteriormente hemos convertido a .PEM
Y por último vamos a configurar el fichero de registro que se creará en los procesos de desencriptación (información muy útil) y pulsamos en Apply para iniciar el proceso de desencriptación de las capturas actuales
Si ahora abrimos el fichero de LOG, veremos que se están procesando correctamente, por lo que podremos ver el tráfico capturado de forma «legible»
Abrimos de nuevo el Wireshark, capturamos algo de tráfico y pulsamos en Follow SSL Stream
Nota: Si elegimos la opción Follow SSL Stream sin la configuración del Wireshark adecuada nos mostrará la siguiente pantalla (en blanco)
ahora podemos ver esto, desde luego ya podemos analizar que puede estar sucediendo
Leave a Reply