¿Por qué Microsoft acaba de parchear un parche que aplastó un error de Outlook bajo ataque?
En marzo, Microsoft reparó una falla de seguridad interesante en Outlook que fue aprovechada por delincuentes para filtrar las credenciales de Windows de las víctimas. Esta semana, el gigante de TI corrigió esa solución como parte de su actualización mensual Patch Tuesday.
Para recordarle el error original, rastreado como CVE-2023-23397: puede enviar a alguien un correo electrónico que incluya un recordatorio con un sonido de notificación personalizado. Este sonido personalizado se puede especificar como una ruta URL en el correo electrónico.
Si un delincuente elaboró cuidadosamente un correo electrónico con esta ruta de sonido establecida en un servidor SMB remoto, cuando Outlook obtuvo y procesó el mensaje y siguió automáticamente la ruta al servidor de archivos, entregaría el hash Net-NTLMv2 del usuario en tal intento. filtre el hash a una parte externa, que luego podría usar la credencial para acceder a otros recursos como ese usuario, lo que le permite al atacante explotar los sistemas de red internos, robar documentos, hacerse pasar por su víctima, etc.
El parche de hace unos meses hizo que Outlook usara la función de Windows MapUrlToZone para inspeccionar hacia dónde apuntaba realmente una ruta de sonido de notificación y, si se dirigía a Internet, se ignoraría y se reproduciría el sonido predeterminado. Esto debería haber evitado que el cliente se conectara a un servidor remoto y filtrara hashes.
Resultó que esta protección basada en MapUrlToZone podía pasarse por alto, lo que llevó a Microsoft a reforzar su parche de marzo en mayo. El error original estaba siendo explotado en la naturaleza, por lo que cuando llegó el parche llamó la atención de todos. Y esa atención ayudó a revelar que la corrección estaba incompleta.
Y si se dejaba incompleto, quienquiera que estuviera abusando del error original podría usar la otra vulnerabilidad para solucionar el parche original. Entonces, para ser claros, no es que la solución para CVE-2023-23397 no funcionara, lo hizo, simplemente no fue suficiente para cerrar completamente el agujero del archivo de sonido personalizado.
«Esta vulnerabilidad es otro ejemplo más del escrutinio de parches que conduce a nuevas vulnerabilidades y soluciones alternativas». él dijo Ben Barnea de Akamai, quien localizó e informó sobre el desvío de MapUrlToZone.
«Específicamente para esta vulnerabilidad, agregar un personaje permite omitir un parche crítico».
Crucialmente, mientras que el primer error estaba en Outlook, este segundo problema con MapUrlToZone está en la implementación de Microsoft de esa función en la API de Windows. Esto significa que el segundo parche no es para Outlook, sino para la plataforma MSHTML subyacente en Windows, y todas las versiones del sistema operativo se ven afectadas por este error, escribió Barnea. El problema es que se puede pasar una ruta construida maliciosamente a MapUrlToZone para que la función determine que la ruta no es a Internet externa cuando de hecho es cuando la aplicación viene a abrir la ruta.
Según Barnea, los correos electrónicos pueden contener un recordatorio que incluye un sonido de notificación personalizado especificado como una ruta usando una propiedad MAPI extendida usando PidLidReminderFileParameter.
«Un atacante podría especificar una ruta UNC que haría que el cliente recuperara el archivo de sonido de cualquier servidor SMB», explicó. «Como parte de la conexión al servidor SMB remoto, el hash Net-NTLMv2 se envía en un mensaje de negociación».
Esta falla fue lo suficientemente mala como para obtener una calificación de gravedad CVSS de 9.8 sobre 10, y un equipo vinculado a Rusia la había explotado durante aproximadamente un año cuando se lanzó la solución en marzo. La pandilla cibernética lo usó en ataques contra organizaciones en gobiernos europeos, así como espacios de transporte, energía y militares.
Para encontrar una desviación del parche original de Microsoft, Barnea quería crear una ruta que MapUrlToZone etiquetara como local, intranet o zona de confianza, lo que significa que Outlook podría seguirla con seguridad, pero cuando se pasara a la función CreateFile para abrir, haría que la sistema operativo vaya a conectarse a un servidor remoto.
Eventualmente, descubrió que los delincuentes podían cambiar la URL en los mensajes de recordatorio, lo que engañó las comprobaciones de MapUrlToZone para ver las rutas remotas como locales. Y se puede hacer con una sola pulsación de tecla agregando un segundo ‘\’ a la ruta de la Convención de nomenclatura universal (UNC).
«Un atacante de Internet no autenticado podría usar la vulnerabilidad para obligar a un cliente de Outlook a conectarse a un servidor controlado por el atacante», escribió Barnea. “Esto da como resultado el robo de credenciales de NTLM. Es una vulnerabilidad de cero clics, lo que significa que puede activarse sin la interacción del usuario”.
Agregó que el problema parece ser el «resultado del manejo de rutas complejas en Windows… Creemos que este tipo de confusión puede causar vulnerabilidades en otros programas que usan MapUrlToZone en una ruta controlada por el usuario y luego usan un archivo de operación ( como CreateFile o una API similar) en la misma ruta».
La culpa, CVE-2023-29324, tiene una puntuación de gravedad CVSS de 6,5. Microsoft está recomendando organizaciones reparar tanto esta vulnerabilidad (se lanzó un parche como parte del martes de parches de esta semana) como el CVE-2023-23397 anterior.
Barnea escribió que espera que Microsoft elimine la función de sonido de recordatorio personalizado, diciendo que presenta más riesgos de seguridad que cualquier valor potencial para los usuarios.
«Es una superficie de ataque de análisis de medios sin clic que puede contener vulnerabilidades críticas de corrupción de memoria», escribió. «Teniendo en cuenta lo ubicuo que es Windows, eliminar una superficie de ataque tan madura como esta puede tener algunos efectos muy positivos». ®