Fortificando nuestro Windows I: sistemas cifrado password

En primer lugar, pedir disculpas por este largo paréntesis sin publicar en el blog, compaginar el trabajo con el inicio como alumno del Master en Seguridad de las TIC, me ha dejado muy poco tiempo y aún menos energías durante estos primeros meses. De todas maneras, retomo la actividad para escribir una serie de dos entradas, dedicadas a la fortificación de nuestro Windows. En esta primera, vamos a repasar un poco el sistema de contraseñas de nuestro sistema.

Todos conocemos herramientas como Ophcrack que nos permite arrancar nuestro PC (o el de nuestra víctima) a partir de un CD y romper el sistema de contraseñas. Si necesitamos proteger un PC ante ataques de este tipo, podemos aprovechar las funcionalidades del sistema operativo (en nuestro caso Windows 7) para solventar la situación.

Passwords en Windows

Windows como el resto de sistemas operativos, guarda las passwords mediante un sistema de cifrado mediante función unidreccional o hash. Esto significa que la cadena correspondiente a la password del usuario se guarda aplicando previamente esta función. El uso de funciones de hash, tiene la ventaja de que al ser una función unidireccional, no es posible realizar el camino inverso ( a partir del hash obtener la cadena password original). Si os interesa profundizar sobre las funciones de hash, os recomiendo que mireis esta lección de la Intypedia, dedicada a este tema.

En el caso de los sistemas Windows, el archivo donde se guardan estas contraseñas hasheadas, es el SAM (Security Account Manager) que se encuentra en la ruta Windows\System32\Config.

La primera implementación que realizó Microsoft se denominó LM (Lan Manager). Es una implementación basada en DES que desde el principio presentó diversas debilidades: convierte los carácteres a mayúsculas, permitía un máximo de 14 carácteres y añadía ceros en el caso que el password no llegara a esos 14 carácteres. Además el cifrado se realizaba en dos bloques de 7 carácteres, lo que hacía que los ataques por fuerza bruta no fueran demasiado costosos. Por último y a diferencia de los sistemas Unix, Windows no añade un salt al password de manera que dos usuarios con la misma contraseña, tendrán el mismo hash.

A partir de Windows NT aparece un nuevo sistema de cifrado de las passwords NTLM, que posteriorment con el SP4 de este sistema operativo, pasaría a ser NTLMv2. Este nuevo método ya permite utilizar contraseñas de más de 14 carácteres y diferencia entre mayúsculas y minúsculas. También cambia el algoritmo de cálculo del hash pasando a MD4. Sin embargo, sigue sin utilizar salt para el cálculo del hash, permitiendo obtener hashes idénticos para todos los usuarios que tengan la misma contraseña.

Por temas de compatibilidad, hasta Windows XP incluido los dos sistemas de cifrado venían habilitados, de manera que cuando se introducía una contraseña se cifraba tanto por el sistema LM como por el más moderno NTLM. Esto realmente, era un grave problema de seguridad, porque como ya hemos visto, el primer sistema es realmente vulnerable, sin embargo, si el usuario elegía una contraseña con más de 14 carácteres de de longitud, únicamente se cifraba con NTLM, al no ser capaz LM de manejar esa longitud de carácteres. De todas maneras, se podía deshabilitar el cifrado LM mediante directivas o bien mediante la edición del registro.

A partir de Windows Vista, el veterano cifrado LM ya viene deshabilitado, lo cual es una mejora de seguridad, pero estamos lejos aún de tener nuestro sistema a salvo.

En la siguiente entrada, veremos de qué se guardan los hashes en el sistema de archivos de Windows, qué mecanismos de protección presentan y cómo podemos mejorarlos.

Fuentes: Hispasec, Microsoft

Un comentario en “Fortificando nuestro Windows I: sistemas cifrado password

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s