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 subárbol del registro, ya sea como un hash LM o como un hash NTLM . Este archivo se puede encontrar en %SystemRoot%/system32/config/SAM
y está montado en HKLM/SAM
y SYSTEM
se requieren privilegios para verlo.
En un intento por mejorar la seguridad de la base de datos SAM contra el pirateo de software sin conexión, Microsoft introdujo la función SYSKEY en Windows NT 4.0. Cuando SYSKEY está habilitada, la copia en disco del archivo SAM se cifra parcialmente, de modo que los valores de hash de contraseñas de todas las cuentas locales almacenadas en el SAM se cifran con una clave (normalmente también denominada "SYSKEY"). Se puede habilitar ejecutando el syskey
programa. [2] A partir de la versión 1709 de Windows 10, syskey
se eliminó debido a una combinación de seguridad insegura [3] y uso indebido por parte de actores maliciosos para bloquear a los usuarios fuera de los sistemas.
En 2012, se demostró que cada permutación posible de hash de contraseña NTLM de 8 caracteres se puede 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 está en ejecución, ya que el núcleo 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 se haya lanzado una excepción de " Pantalla azul de la muerte ". Sin embargo, la copia en memoria del contenido del SAM se puede volcar utilizando varias técnicas (incluida pwdump ), lo que hace que los hashes de contraseña estén disponibles para un ataque 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 deshabilitan el hash LM de forma predeterminada. Nota: habilitar esta configuración no borra inmediatamente los valores del 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 del 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 usa para todas las cuentas de usuario).
En Windows NT 3.51, NT 4.0 y 2000, se diseñó un ataque para eludir el sistema de autenticación local. Si se elimina el archivo SAM 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 usar una unidad virtual emulada o un entorno basado en un disco de arranque (generalmente Unix/Linux u otra copia de Windows como Windows Preinstallation Environment ) para montar la unidad local que alberga la partición NTFS activa y usar rutinas de software programadas y llamadas de función desde dentro de pilas de memoria asignadas para aislar el archivo SAM de la estructura de directorio de instalación del sistema Windows NT (predeterminado: %SystemRoot%/system32/config/SAM
) y, según la utilidad de software particular que se use, elimina los hashes de contraseña almacenados para las cuentas de usuario en su totalidad o, en algunos casos, modifica las contraseñas de las cuentas de usuario directamente desde este entorno.
Este software tiene un uso altamente pragmático y beneficioso como una utilidad de borrado de contraseñas o recuperación de cuentas para personas que han perdido u olvidado sus contraseñas de cuentas de Windows, así como un posible uso como una utilidad de elusión de seguridad de software malintencionado. Básicamente, otorga a un usuario con suficiente capacidad, experiencia y familiaridad tanto con el software de utilidad de descifrado como con las rutinas de seguridad del núcleo de Windows NT (así como acceso local fuera de línea e inmediato al equipo de destino) la capacidad de eludir por completo o eliminar las contraseñas de cuentas de Windows de un posible equipo de destino. Recientemente, Microsoft lanzó una utilidad llamada LockSmith, que forma parte de MSDart . Sin embargo, MSDart no está disponible de forma gratuita 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]