Un fallo en el gestor del sistema de ficheros NTFS puede ser aprovechado por un atacante para provocar la famosa "pantalla azul de la muerte" en sistemas de escritorio Windows, ya sea a través del acceso físico al sistema o consiguiendo la inserción usando ingeniería social.

El investigador Marius Tivadar, de Bitdefender, ha publicado una prueba de concepto de una técnica que provoca la aparición de la "pantalla azul de la muerte" (en resumidas cuentas, Denegación de Servicio) en sistemas de escritorio Windows.



Tivadar aprovecha un fallo al cargar sistemas de ficheros NTFS. Mediante el cambio de nombre de directorio raíz y la variable 'INDEX_ALLOCATION' en varias localizaciones de una imagen NTFS provoca la creación de una estructura FCB ('File Control Block') que contiene un puntero nulo. Éste, al ser accedido por la función 'NtfsFindExistingLcb()', produce una excepción.

Video tomado de ntfs crash: https://photos.google.com/share/AF1QipOqzntZ0fxuMRNrsTYRZcs4SBET5jA-WuHxSY2Sn65O3MhraH1S0qiNDtK89ovxHQ/photo/AF1QipMQQONsgY9oO-YGd1br3uF082Mofr9d6PxPrfAx?key=a3NOaWF6YTByRXp6ZGR CbV9lZXBMVkhjZV80MnFR

El fallo ha sido probado en sistemas Windows 7 Enterprise y 10 en sus versiones Enterprise y Pro, y puede ser explotado por cualquier atacante con acceso físico a la máquina sin importar el nivel de cuenta del usuario ejecutando el sistema operativo.

Además, al estar activada la función Auto-play por defecto, el sistema es afectado automáticamente al insertar el lápiz de memoria. En caso de estar desactivado Auto-play, el sistema quedará bloqueado en el primer acceso a la imagen NTFS modificada, por ejemplo al analizar la memoria con Windows Defender.

La técnica funciona también cuando el sistema se encuentra en modo Bloqueo, por lo que un atacante puede aprovechar un momento de despiste para insertar el lápiz de memoria sin ser visto.

Tivadar expresa su preocupación por este ultimo comportamiento en la documentación de la prueba de concepto:

Creo firmemente que este comportamiento debería cambiarse, dado que ningún lápiz USB o volumen debe montarse cuando el sistema está bloqueado. (...) Pienso en esto como código que se ejecuta sin el consentimiento del usuario. Si este tipo de ataque fuera explotable, y un atacante pudiera cargar malware incluso si un sistema está bloqueado, se podrían abrir miles de múltiples escenarios.

Cabe decir que esta vulnerabilidad fue descubierta en julio del 2017, pero los intentos del investigador para realizar una revelación responsable han sido infructuosos, ya que desde Microsoft han argumentado que el requisito de acceso físico o ingeniería social hace que la vulnerabilidad no sea considerada para lanzar un parche de seguridad. Sin embargo, el descubridor expresa sus dudas, ya que una imagen manipulada, descargada por un malware, podría disparar el fallo.

La prueba de concepto se ha publicado en Github junto con su documentación y varios vídeos demostrativos en la cuenta de Google Fotos de Tivadar.


Francisco López
flopez@hispasec.com
@zisk0



Más información:

PoC for a NTFS crash that I discovered, in various Windows versions:
https://github.com/mtivadar/windows10_ntfs_crash_dos