El Administrador de cuentas de seguridad ( SAM ) es un archivo de base de datos [1] en Windows XP, Windows Vista, Windows 7, 8.1, 10 y 11 que almacena las contraseñas de los usuarios. Se puede utilizar para autenticar usuarios locales y remotos. A partir de Windows 2000 SP4, Active Directory autentica a los usuarios remotos. SAM utiliza medidas criptográficas para evitar que usuarios no autenticados accedan al sistema.
Las contraseñas de usuario se almacenan en formato hash en una sección del registro, ya sea como hash LM o como hash NTLM . Este archivo se puede encontrar %SystemRoot%/system32/config/SAM
y montar HKLM/SAM
y SYSTEM
se requieren privilegios para verlo.
En un intento por mejorar la seguridad de la base de datos SAM contra el cracking de software fuera de línea, Microsoft introdujo la función SYSKEY en Windows NT 4.0. Cuando SYSKEY está habilitado, la copia en disco del archivo SAM se cifra parcialmente, de modo que los valores hash de contraseña para todas las cuentas locales almacenadas en el SAM se cifran con una clave (generalmente también denominada "SYSKEY"). Se puede habilitar ejecutando el syskey
programa. [2] A partir de Windows 10 versión 1709, syskey
se eliminó debido a una combinación de seguridad insegura [3] y uso indebido por parte de malos actores para bloquear a los usuarios fuera de los sistemas.
En 2012, se demostró que todas las permutaciones posibles de hash de contraseña NTLM de 8 caracteres se pueden descifrar en menos de 6 horas. [4] En 2019, este tiempo se redujo a aproximadamente 2,5 horas mediante el uso de hardware más moderno. [5] [6]
En el caso de ataques en línea, no es posible simplemente copiar el archivo SAM a otra ubicación. El archivo SAM no se puede mover ni copiar mientras Windows se está ejecutando, ya que el kernel de Windows obtiene y mantiene un bloqueo exclusivo del sistema de archivos en el archivo SAM, y no liberará ese bloqueo hasta que el sistema operativo se haya apagado o aparezca una " pantalla azul de la muerte ". Se ha lanzado una excepción. Sin embargo, la copia en memoria del contenido del SAM se puede volcar utilizando varias técnicas (incluido pwdump ), lo que hace que los hashes de contraseña estén disponibles para ataques de fuerza bruta fuera de línea .
El hash LM es un protocolo comprometido y ha sido reemplazado por el hash NTLM. La mayoría de las versiones de Windows se pueden configurar para deshabilitar la creación y el almacenamiento de hashes LM válidos cuando el usuario cambia su contraseña. Windows Vista y versiones posteriores de Windows desactivan el hash LM de forma predeterminada. Nota: habilitar esta configuración no borra inmediatamente los valores hash LM del SAM, sino que habilita una verificación adicional durante las operaciones de cambio de contraseña que, en su lugar, almacenará un valor "ficticio" en la ubicación de la base de datos SAM donde se almacena el hash LM. . (Este valor ficticio no tiene relación con la contraseña del usuario; es el mismo valor que se utiliza para todas las cuentas de usuario).
En Windows NT 3.51, NT 4.0 y 2000, se ideó un ataque para eludir el sistema de autenticación local. Si el archivo SAM se elimina del disco duro (por ejemplo, al montar el volumen del sistema operativo Windows en un sistema operativo alternativo), el atacante podría iniciar sesión con cualquier cuenta sin contraseña. Esta falla se corrigió con Windows XP, que muestra un mensaje de error y apaga la computadora. Sin embargo, existen utilidades de software [7] que, mediante la metodología antes mencionada de utilizar una unidad virtual emulada o un disco de arranque (generalmente Unix/Linux, u otra copia de Windows como el entorno de preinstalación de Windows ) para montar la unidad local. albergar la partición NTFS activa y utilizar rutinas de software programadas y llamadas a funciones desde dentro de las pilas de memoria asignadas para aislar el archivo SAM de la estructura del directorio de instalación del sistema Windows NT (predeterminado:) %SystemRoot%/system32/config/SAM
y, dependiendo de la utilidad de software particular que se esté utilizando, elimina la contraseña. hashes almacenados para las cuentas de usuario en su totalidad o, en algunos casos, modificar las contraseñas de las cuentas de usuario directamente desde este entorno.
Este software tiene un uso altamente pragmático y beneficioso como utilidad para borrar contraseñas o recuperar cuentas para personas que han perdido u olvidado las contraseñas de sus cuentas de Windows, así como un posible uso como utilidad para eludir la seguridad de software malicioso. Esencialmente, otorgar a un usuario con suficiente capacidad, experiencia y familiaridad tanto con el software de utilidad de descifrado como con las rutinas de seguridad del kernel de Windows NT (así como acceso local inmediato y sin conexión a la computadora de destino) la capacidad de omitir o eliminar por completo el sistema operativo Windows. contraseñas de cuentas de una posible computadora objetivo. Recientemente, Microsoft lanzó una utilidad llamada LockSmith, que forma parte de MSDart . Sin embargo, MSDart no está disponible gratuitamente para los usuarios finales. [8]
En julio de 2021, se reveló que había una vulnerabilidad en Windows 10 y Windows 11 que permitía a usuarios con pocos privilegios acceder a archivos confidenciales de la base de datos del Registro, incluido el archivo SAM. [9]