En marzo, Microsoft arregló una vulnerabilidad interesante en Outlook que los malhechores explotaron para filtrar las credenciales de Windows de las víctimas. Esta semana, el gigante de TI implementó esa solución como parte de su actualización mensual de los martes.
Para recordarle el error original, se rastreó como CVE-2023-23397: Era posible enviar un correo electrónico a alguien con un recordatorio con un sonido de notificación personalizado. Este audio personalizado se puede especificar como una ruta URL dentro del correo electrónico.
Si la persona equivocada elaboró cuidadosamente el correo con esa ruta de audio establecida en un servidor SMB remoto, cuando Outlook obtenga el mensaje y lo procese, rastreando automáticamente la ruta al servidor de archivos, entregará un hash Net-NTLMv2 al usuario que intenta acceso. Esto filtrará efectivamente el hash a una parte externa, que potencialmente podría usar las credenciales para acceder a otros recursos como ese usuario, lo que permite a los piratas informáticos explorar los sistemas de red internos, robar documentos, hacerse pasar por su víctima, etc.
El parche de hace dos meses hizo que Outlook usara la funcionalidad de Windows MapUrlToZone Para verificar hacia dónde apunta realmente la pista de sonido de la notificación, si está en línea, se ignorará y se reproducirá el sonido predeterminado. Esto debería haber evitado que el cliente se conectara a un servidor remoto y filtrara hashes.
Resulta que la protección basada en MapUrlToZone se puede omitir, lo que llevó a Microsoft a respaldar una solución en marzo de mayo. El error original fue explotado en la naturaleza, por lo que cuando aterrizó su parche, llamó la atención de todos. Este interés ayudó a revelar que la reforma estaba incompleta.
Y si se deja incompleto, cualquiera que abuse del error original puede usar la otra vulnerabilidad para sortear el parche original. Para ser claros, no es que la solución CVE-2023-23397 no funcionara, lo hizo, no fue suficiente para cerrar completamente el agujero del archivo de audio personalizado.
Esta vulnerabilidad es otro ejemplo de revisión de parches que genera nuevas vulnerabilidades y abusos. Él dijo Ben Parnia de Akamai, quien detectó e informó el desbordamiento de MapUrlToZone.
Específicamente para esta vulnerabilidad, agregar un solo carácter permite omitir un parche crítico.
Crucialmente, mientras que el primer error fue con Outlook, este segundo problema con MapUrlToZone radica en la implementación de Microsoft de esta funcionalidad en la API de Windows. Parnia escribe que esto significa que el segundo parche no es para Outlook sino para la plataforma MSHTML subyacente en Windows, y que todas las versiones del sistema operativo se ven afectadas por este error. El problema es que la ruta generada maliciosamente se puede pasar a MapUrlToZone para que la función determine que la ruta no es a Internet externa cuando en realidad lo 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 audio de cualquier servidor SMB», explicó. Como parte de la conexión con el servidor SMB remoto, se envía un hash Net-NTLMv2 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 había sido explotada por un equipo con destino a Rusia 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 un bypass para el 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 abrirlo, haría que el OS vaya a conectarse a un servidor remoto.
Eventualmente, descubrió que los bastardos podían cambiar la URL en los recordatorios, lo que engañó a MapUrlToZone para que verificara que las rutas remotas se vieran como rutas locales. Esto 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 no autenticado en Internet podría usar la vulnerabilidad para obligar a un cliente de Outlook a conectarse a un servidor controlado por el atacante», escribió Parnia. «Esto da como resultado el robo de las credenciales NTLM. Es una vulnerabilidad en la que no se puede hacer clic, lo que significa que puede ejecutarse sin la interacción del usuario».
Agregó que el problema parece ser «el resultado del manejo complejo de rutas 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 una operación de archivo (como CreateFile o las aplicaciones similares de la API) en la misma ruta».
falla, CVE-2023-29324Tiene una puntuación de gravedad CVSS de 6,5. Microsoft recomienda organizaciones Reparar Tanto esta vulnerabilidad (se lanzó un parche como parte del Patch Tuesday de esta semana) como el CVE-2023-23397 anterior.
Parnia 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 podría contener vulnerabilidades críticas de corrupción de memoria», escribió. «Dado lo ubicuo que es Windows, eliminar una superficie de ataque tan madura como esta podría tener algunos efectos muy positivos». ®
«Gurú del alcohol. Analista. Defensor de la comida. Aficionado extremo al tocino. Experto total en Internet. Adicto a la cultura pop. Pionero de viajes sutilmente encantador».