
The Outlook HTML Leak Test Project
Lista de esquemas de URI que podrían funcionar en Windows. Estos esquemas/protocolos pueden ser útiles en investigaciones similares para encontrar nuevas vulnerabilidades o para evadir las protecciones actuales. Otros productos podrían verse afectados de manera similar, pero no se ha investigado aquí.
Es interesante que abrir este archivo con MS Office tarde más de lo habitual, lo que puede sugerir que Excel está haciendo algo con algunos de ellos. ¡Esta es una gran señal para encontrar errores/funciones!
Lista de etiquetas HTML que podrían enviar solicitudes a otros recursos de forma automática o mediante la interacción del usuario. Este archivo se ha generado a partir de las siguientes fuentes:
Mientras trabajaba en una evaluación, recibí un correo electrónico HTML en Outlook 2010 que contenía una etiqueta de imagen similar a:
<img src="https://raw.githubusercontent.com/nccgroup/outlookleaktest/HEAD/example.com/test/image.jpg" >
Pude ver que Outlook estaba buscando algo después de abrir ese correo y tardó más de lo habitual en abrirlo por completo. Rápidamente me di cuenta de que Outlook en realidad usaba la URL como \\example.com\test\image.jpg y enviaba a example.com una solicitud SMB.
Aunque no cargaba la imagen incluso cuando la ruta SMB proporcionada era válida, podía enviar mi hash SMB a una ubicación arbitraria. Este ataque no funcionó en Outlook 2016; sin embargo, me hizo iniciar un pequeño proyecto de investigación para probar diferentes etiquetas HTML que aceptan URI con diferentes esquemas de URI y cargas útiles especiales.
Logré probar una lista de esquemas de URI conocidos con diferentes objetivos diseñando una aplicación ASP.NET rápida (y sucia) que usaba ASPOSE.Email (https://downloads.aspose.com/email/net) y las bibliotecas de Microsoft Office Interop. Esta aplicación genera archivos MSG de solo lectura similares a los correos recibidos o enviados en Outlook. El proyecto cure53 HTTPLeaks (https://github.com/cure53/HTTPLeaks) con cambios menores se usó como plantilla HTML para generar los correos. El código C# sucio, los esquemas de URI, las fórmulas y la plantilla HTML utilizados en esta investigación se pueden encontrar en este repositorio.
Para reducir complicaciones, se utilizaron Wireshark y Process Monitor de Sysinternals Suite para detectar llamadas remotas y locales al sistema de archivos.
Outlook enviaba solicitudes externas SMB/WebDAV al abrir un correo HTML manipulado. Esto podía ser aprovechado para secuestrar el hash SMB de una víctima o para determinar si el destinatario había visto un mensaje. Este problema se explotó utilizando la configuración predeterminada de Outlook que bloqueaba la carga de recursos externos, como archivos de imagen. Estas solicitudes se enviaban inmediatamente después de abrir un correo. Cuando el puerto SMB estaba bloqueado, se enviaba una solicitud WebDAV en el puerto 80. Para más detalles y la solución, consulte https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2018/may/smb-hash-hijacking-and-user-tracking-in-ms-outlook/
Aunque el patrón \\ estaba bloqueado por Outlook, se encontraron otros patrones y esquemas de URI que forzaban a Outlook a enviar solicitudes a servidores remotos.
La siguiente tabla muestra los vectores identificados:

Los siguientes esquemas de URI también podrían usarse para apuntar al sistema de archivos local, lo que podría ser útil:

El proyecto OutlookLeakTest es propiedad intelectual de NCC Group, 2018, y está licenciado bajo la licencia Apache (consulte LICENSE).