viernes, 13 de abril de 2018

Fallo en Outlook permite usar ficheros OLE remotos para filtrar la contraseña del usuario

Se ha descubierto un fallo en Outlook que permite la carga de objetos OLE remotos solo previsualizando un correo electrónico. Esto podría usarse para acceder a información secreta del usuario, como el hash de la contraseña del usuario de Windows.




Nos situamos en 2016. Buscando técnicas para saltar ASLR de Windows, el investigador Will Dormann, miembro del CERT, empieza a hacer pruebas incrustando ficheros OLE en el contenido de ficheros de formato de texto enriquecido (RTF). Sin embargo, la vulnerabilidad que encontró iba más allá de sus objetivos iniciales.

Desde hace tiempo, Microsoft Outlook (y la mayoría de clientes y plataformas de correo) bloquea la carga de imágenes remotas en correos HTML como medida de protección de la privacidad, concretamente para no desvelar la dirección IP. Para cargarlas, pide interacción del usuario. 

Sin embargo, al enviar correos RTF con objetos OLE remotos incrustados, Dormann comprobó que se carga el contenido automáticamente y sin pedir ninguna autorización cuando estos objetos están alojados en un servidor SMB. Es más, esta carga no se realiza al abrir el correo, sino simplemente previsualizándolo.

A diferencia de los correos HTML, que revelarían únicamente nuestra dirección IP, al iniciar una  conexión SMB estaríamos enviando al servidor remoto mucha más (y más crítica) información del sistema:

  • Dirección IP.
  • Nombre de dominio.
  • Nombre de usuario.
  • Nombre del equipo.
  • Clave de sesión SMB.

Información revelada durante la carga de objetos OLE embebidos en un RTF previsualizado por Microsoft Outlook. Obtenida de: https://insights.sei.cmu.edu/cert/2018/04/automatically-stealing-password-hashes-with-microsoft-outlook-and-ole.html

Una vez abierta la puerta a conexiones arbitrarias a servidores SMB, nos queda estudiar qué información adicional podemos obtener y cómo la podemos explotar. En este caso, Dormann aprovecha una vulnerabilidad en los clientes SMB para provocar una denegación de servicio en el sistema del usuario. 


Explotación de vulnerabilidad en el cliente SMB de Microsoft a travér de Outlook. Obtenida de: https://insights.sei.cmu.edu/cert/2018/04/automatically-stealing-password-hashes-with-microsoft-outlook-and-ole.html

También, usando la herramienta Responder pudo interceptar conexiones del protocolo NTMLv2, que incluye el hash de la contraseña de usuario de Windows. Si esta contraseña es débil, descifrarla es cuestión de segundos.


Información obtenida a través de la petición SMB. Obtenida de: https://insights.sei.cmu.edu/cert/2018/04/automatically-stealing-password-hashes-with-microsoft-outlook-and-ole.html

Esta vulnerabilidad (CVE-2018-0950) ha sido solucionada en el último boletín de Microsoft. Ahora no se producen visualizaciones de contenido remoto OLE. Sin embargo, este no es el único modo en el que se podría forzar al cliente SMB de Windows iniciar una conexión SMB, por lo que se recomienda el bloqueo de los puertos involucrados en este tipo de conexiones.
  

Francisco López
flopez@hispasec.com

Más información:

Automatically Stealing Password Hashes with Microsoft Outlook and OLE:
https://insights.sei.cmu.edu/cert/2018/04/automatically-stealing-password-hashes-with-microsoft-outlook-and-ole.html