Un fallo en el manejador 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.
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.