Crackers de contraseñas.
Descifradores de contraseñas
Base de datos de cuentas de usuario
Uno de los principales componentes de seguridad de Windows NT — Administrador de cuentas de usuario. Permite que otros componentes, aplicaciones y servicios de seguridad de Windows NT interactúen con la base de datos de administración de cuentas de seguridad (SAM). Esta base del sistema operativo (SO) Windows NT es necesaria en cada computadora. Aquí es donde se almacena toda la información utilizada para autenticar a los usuarios de Windows NT para el inicio de sesión interactivo y el acceso remoto a través de una red informática.
La base de datos SAM es una de las «colmenas» (colmena) Registro del sistema Windows NT. Este «arbusto» pertenece a la «rama» (subárbol) HKEY_LOCAL_MACHINE y se llama SAM. Se encuentra en el directorio winnt_rootSystem32Config (winnt_root es un símbolo del directorio con archivos del sistema Windows NT) en un archivo separado, también llamado SAM. La mayor parte de la información de la base de datos SAM se almacena en formato binario. Por lo general, se puede acceder a él a través del Administrador de cuentas. No se recomienda modificar las entradas almacenadas en la base de datos SAM utilizando programas que le permitan editar directamente el registro de Windows NT (REGEDT o REGEDT32). Además, esto no se puede hacer, ya que el acceso a la base de datos SAM está prohibido para todas las categorías de usuarios de Windows NT sin excepción.
Almacenamiento de contraseñas de usuario
Es dentro de las cuentas de la base de datos SAM donde se encuentra la información del nombre de usuario y la contraseña, que es necesaria para identificar y autenticar a los usuarios cuando inician sesión en línea. Como en cualquier otro sistema operativo multiusuario moderno, esta información se almacena de forma cifrada. En la base de datos SAM, cada contraseña suele representarse como dos secuencias de 16 bytes obtenidas por diferentes métodos.
En el método de Windows NT, la cadena de caracteres de la contraseña del usuario se procesa utilizando la función MD4.1. Como resultado, la secuencia de 16 bytes — se obtiene de la contraseña simbólica ingresada por el usuario 2. contraseña hash de Windows NT. Luego, esta secuencia se cifra utilizando el algoritmo DES 3 y el resultado del cifrado se almacena en la base de datos SAM. En este caso, como clave se utiliza el llamado identificador relativo de usuario (Relative Identifier, o abreviado — RID), que es un número de secuencia que aumenta automáticamente de la cuenta de un usuario determinado en la base de datos SAM.
Para compatibilidad con otro software de Microsoft (Windows para trabajo en grupo, Windows 95/98 y Lan Manager), la base de datos SAM también almacena información de contraseña de usuario en el estándar Lan Manager. Para formarla, todos los caracteres alfabéticos de la cadena de contraseña original se convierten a mayúsculas y, si la contraseña contiene menos de 14 caracteres, se rellena con ceros. De cada mitad de 7 bytes de la contraseña del usuario convertida de esta manera, se forma una clave por separado para cifrar una determinada secuencia fija de 8 bytes utilizando el algoritmo DES. Las dos mitades de 8 bytes resultantes de la contraseña hash de Lan Manager se cifran nuevamente con DES (usando el RID del usuario como clave) y se colocan en la base de datos SAM.
Uso de contraseña
La información de contraseña almacenada en la base de datos SAM se utiliza para autenticar a los usuarios de Windows NT. Al iniciar sesión en línea o en línea, la contraseña ingresada primero se cifra y se cifra y luego se compara con una secuencia de 16 bytes almacenada en la base de datos SAM. Si estos valores coinciden, el usuario puede iniciar sesión.
Normalmente, ambas contraseñas hash se almacenan cifradas en la base de datos SAM. Sin embargo, en algunos casos el sistema operativo sólo calcula uno de ellos. Por ejemplo, si un usuario de dominio Windows NT cambia su contraseña mientras trabaja en una computadora que ejecuta Windows para Trabajo en Grupo, entonces sólo la contraseña de Lan Manager permanecerá en su cuenta. Y si la contraseña de usuario contiene más de 14 caracteres o estos caracteres no están incluidos en el llamado conjunto del proveedor del equipo (fabricante de equipo original, o OEM para abreviar), entonces solo se ingresará la contraseña de Windows NT en la base de datos SAM. .
Posibles ataques a la base de datos SAM
Los poderes administrativos suelen ser de gran interés para un pirata informático que protege la contraseña del sistema operativo. Se pueden obtener averiguando la contraseña del administrador del sistema en forma hash o simbólica, que se almacena en la base de datos SAM. Por lo tanto, es a la base de datos SAM a la que apunta el principal golpe de un atacante de protección con contraseña de Windows NT.
De forma predeterminada, en Windows NT, el acceso al archivo winnt_rootSystem32ConfigSAM está bloqueado para todos sus usuarios sin excepción. Sin embargo, con la ayuda del programa NTBACKUP, cualquier persona con permiso para realizar copias de seguridad de archivos y directorios de Windows NT puede mover este archivo desde el directorio «duro». disco a cinta magnética. También puede crear una copia de seguridad del registro utilizando la utilidad REGBAK del Kit de recursos de Windows NT. Además, una copia de seguridad del archivo SAM (SAM. SAV) en el directorio winnt_rootSystem32Config y una copia comprimida de SAM (archivo SAM._) en el directorio winnt_rootRepair son de indudable interés para cualquier atacante.
Si tiene una copia física del archivo SAM, no es difícil recuperar la información almacenada en él. Al cargar el archivo SAM en el registro de cualquier otra computadora con Windows NT (por ejemplo, usando el comando REGEDT32 Load Hive), puede profundizar en las cuentas de usuario para determinar los valores RID de los usuarios y las versiones cifradas de sus contraseñas hash. Conociendo el RID y teniendo una versión cifrada de la contraseña hash, un atacante informático puede intentar descifrar esa contraseña para utilizarla, por ejemplo, para obtener acceso a la red de otra computadora. Sin embargo, para el inicio de sesión interactivo, no basta con conocer la contraseña hash. Es necesario obtener su representación simbólica.
Para recuperar las contraseñas de los usuarios del sistema operativo Windows NT en forma simbólica, existen descifradores de contraseñas especiales que realizan tanto la adivinación directa de contraseñas como búsquedas en el diccionario. A veces, para este propósito, se utiliza un método combinado para descifrar la protección de contraseñas: como diccionario se utiliza un archivo con contraseñas hash precalculadas correspondientes a secuencias de caracteres que a menudo se utilizan como contraseñas para los usuarios del sistema operativo. Uno de los programas más famosos para descifrar contraseñas del sistema operativo Windows NT: LOphtCrack.
Protección de Windows NT contra piratas informáticos de contraseñas
Entonces, la conclusión es clara: la tarea más importante de un administrador de sistema Windows NT es proteger la información almacenada en la base de datos SAM del acceso no autorizado. Para ello es necesario limitar el acceso físico a los ordenadores de la red y, sobre todo, a los controladores de dominio. Además, si tiene el software y hardware adecuados, debe establecer contraseñas de BIOS para encender las computadoras y cambiar su configuración de BIOS. Luego, utilizando la configuración del BIOS, se recomienda desactivar las computadoras para que no se inicien desde disquetes y CD. Y para garantizar el control de acceso a archivos y carpetas en el sistema operativo Windows NT, la partición del sistema del disco duro » El disco debe estar en formato NTFS.
El directorio winnt_rootrepair debe estar cerrado para todos los usuarios, incluidos los administradores, que utilicen el sistema operativo, y se debe permitir el acceso sólo mientras se ejecuta la utilidad RDISK, que crea copias de seguridad del registro del sistema Windows NT en este directorio. Los administradores del sistema también deben tener cuidado acerca de dónde y cómo se almacenan los discos de reparación de emergencia y las copias de seguridad en cinta si contienen un duplicado del registro del sistema de Windows NT.
Si una computadora que ejecuta el sistema operativo Windows NT es parte de un dominio, entonces, de manera predeterminada, los nombres y las contraseñas hash de los últimos diez usuarios que se registraron en esta computadora se guardan (en caché) en el registro del sistema local (en la sección SECURITYPolicySecrets de la colmena 187; HKEY_LOCAL_MACHINE). Para deshabilitar el almacenamiento en caché de contraseñas en las computadoras del dominio, debe usar la utilidad REGEDT32 en la sección «hive» de MicrosoftWindowsNTCurrentVersionWinlogon. HKEY_LOCAL_MACHINE agrega el parámetro CashedLogonsCount, estableciendo su valor en cero y el tipo — REG_SZ. Para proteger la base de datos SAM, puede utilizar la utilidad SYSKEY, incluida en el Service Pack 3 de Windows NT. Le permite habilitar cifrado adicional para la información de contraseña almacenada en la base de datos SAM. Una clave única de 128 bits para cifrado de contraseña adicional (la llamada clave de cifrado de contraseña o PEC) se guarda automáticamente en el registro del sistema para uso futuro.
Antes de colocarse en el registro del sistema, la clave PEC se cifra utilizando una clave del sistema de 128 bits (Clave del sistema) y se puede almacenar en el registro del sistema o en un archivo llamado STARTUP.KEY en el directorio raíz en un disquete separado. . No es necesario guardar la clave del sistema en un medio magnético y luego, cada vez que inicie el sistema operativo, se calculará utilizando el algoritmo MD5 según la contraseña ingresada en el teclado en el cuadro de diálogo de la utilidad SYSKEY. Los dos últimos métodos para almacenar la clave del sistema brindan la máxima protección para las contraseñas en la base de datos SAM, pero hacen imposible reiniciar automáticamente el sistema operativo, ya que para completar el proceso de reinicio deberá insertar un disquete con la clave del sistema y confirmar. su presencia en la unidad haciendo clic en Aceptar en el cuadro de diálogo que aparece, o ingrese manualmente la clave del sistema desde el teclado.
Para aumentar la seguridad de las contraseñas de usuario del sistema operativo Windows NT contra la piratería, se recomienda utilizar la utilidad «Administrador de usuarios». (Administrador de usuarios) establezca la longitud mínima de las contraseñas de usuario en al menos 8 caracteres y habilite el modo de antigüedad de contraseña para que los usuarios las actualicen periódicamente. Además, cuanto mayor sea la probabilidad de que se produzcan ataques a la protección por contraseña de Windows NT, más corto debería ser el período de dicha obsolescencia. Para evitar que los usuarios vuelvan a ingresar sus contraseñas anteriores, es necesario habilitar el modo de almacenamiento para una cierta cantidad de contraseñas utilizadas anteriormente.
La utilidad PASSPROP del kit de recursos de Windows NT, iniciada con el modificador /COMPLEX, obliga a los usuarios a ingresar contraseñas más resistentes a las grietas que combinan letras en diferentes mayúsculas, letras con números o letras con caracteres especiales. Se pueden establecer reglas más estrictas para filtrar contraseñas débiles después de instalar cualquiera de los paquetes de servicios de Windows NT, comenzando con el Service Pack 2. Luego, una biblioteca especial PASSFILT.DLL ubicada en el directorio winnt_rootSystem32 garantizará que cada contraseña de usuario tenga al menos cinco caracteres. , no contenía el nombre de usuario, incluía caracteres de al menos tres conjuntos de cuatro posibles, compuestos por letras mayúsculas y minúsculas, números, caracteres especiales (signos de puntuación, etc.), respectivamente. Para configurar este modo para verificar las contraseñas de los usuarios, debe agregar el parámetro Paquetes de notificación de tipo REG_MULTI_SZ a la sección HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa del registro del sistema usando el programa REGEDT32 e ingresar la línea PASSFILT en él. Si este parámetro ya existe, se debe agregar una nueva línea después de la existente.
En conclusión, cabe señalar que, aunque en manos competentes de un atacante, los programas para descifrar contraseñas del sistema operativo suponen una enorme amenaza para la protección de contraseñas, los descifradores de contraseñas siguen siendo una herramienta igualmente valiosa para los administradores de sistemas que están interesados en identificar debilidades en la protección con contraseña de sus sistemas operativos. El principal problema a la hora de contrarrestar la piratería no es que existan descifradores de contraseñas, sino que los administradores de sistemas no los utilizan con suficiente frecuencia. Me gustaría esperar que después de la publicación de este artículo la situación mejore.