You are on page 1of 18

2012

USUARIOS Y CONTRASEAS EN WINDOWS

Javier Garca Cambronel SEGUNDO DE ASIR 22/01/2012

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

RESUMEN
LAS CONTRASEAS EN WINDOWS I (ATAQUES) LAS CONTRASEAS EN WINDOWS II (SYSKEY) LAS CONTRASEAS EN WINDOWS III (TIPOS DE CIFRADO) LAS CONTRASEAS EN WINDOWS IV (REDES)

DESCIFRANDO CONTRASEAS
CONTRASEA javi
CONTRASEA javiergarcia CONTRASEA JavierGarcia CONTRASEA Javi.Seguridad

SEGUNDO DE ASIR

Pgina 1

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

LAS CONTRASEAS EN WINDOWS I (ATAQUES)


Cuando nos presentamos en una mquina Windows, la contrasea que proporcionamos debe estar almacenada en algn lugar para que el sistema operativo la reconozca y bien nos deje pasar, bien rechace el acceso. Almacenar la contrasea y compararla sin ms con la que proporciona el usuario, sera una muy mala poltica de seguridad. Cualquiera con acceso al disco duro podra robar la contrasea en texto plano. Lo que se almacena en realidad es el resultado de aplicar un algoritmo a la clave introducida. Esto da como resultado una "firma" (o tradicionalmente llamado "hash"), un valor que en teora slo es producido por una contrasea en concreto. Son firmas lo que siempre se comparar entre s, nunca contraseas. En Windows, ese hash se encuentra fsicamente en el archivo de nombre SAM (Security Account Manager) para contraseas locales y en el archivo ntds.dit del controlador de dominio para los usuarios que se validan contra controladores de dominio. Nos centraremos en las contraseas locales.

ALGORITMOS Para calcular los hashes que se almacenan en la SAM, Windows XP y anteriores utilizan por defecto dos algoritmos para cifrar cada clave: LM (por compatibilidad hacia atrs) y NTLM, ms avanzado y estndar. Vista usa (por fin) slo NTLM y no calcula ni almacena el inseguro LM por defecto. Un atacante necesitara tener acceso a estos hashes (uno, otro, o los dos) para intentar calcular a partir de ellos las contraseas en texto claro (aplicndoles fuerza bruta, o mtodos ms sofisticados como las tablas rainbow).

WINDOWS NO AADE 'SAL' A LAS CONTRASEAS

Uno de los problemas histricos del almacenamiento de claves en Windows es que no 'saltea' las contraseas. No aade, como UNIX por ejemplo, un trozo aleatorio de caracteres a la hora de calcular el hash. Con esto se evitara que una misma contrasea de dos usuarios distintos, produjese una misma firma. Esto supone un problema de seguridad, porque si un atacante de Windows tiene acceso a estos hashes y dos son iguales, puede tener la certeza de que esos dos usuarios tienen la misma contrasea, incluso si no sabe cul.

SEGUNDO DE ASIR

Pgina 2

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012


TIPOS DE ATAQUE

VOLCADO DE LOS HASHES "ONLINE" Una forma de obtener los hashes de las contraseas es conectarse al proceso LSASS (Local Security Authority Subsystem) como administrador (o alguien con permisos equivalentes) y volcarlos. LSASS es el proceso que autoriza y maneja todo el tinglado de las contraseas introducidas en Windows. Mantiene una copia en memoria de estas firmas contra las que compara y valida para ofrecer el token de credenciales correspondiente. Conectarse a este proceso y volcar los hashes "en vivo" en memoria no es complicado gracias a programas como pwdump, que en sus distintas versiones, permite engancharse al proceso y mostrar los hashes de todos los usuarios locales del sistema. Este mtodo mostrar en claro el hash LM y NTLM con el que Microsoft compara todas las contraseas que le introducimos y ahora s se podr realizar un sencillo ataque de fuerza bruta contra ellos.

VOLCADO DE LOS HASHES "OFFLINE" Si no se tiene acceso al proceso en memoria, bien porque el sistema est apagado, bien porque no se disfruten de los permisos necesarios, existen otros mtodos. Como hemos dicho al principio, un lugar especialmente delicado en Windows (equivalente al etc/passwd de los sistemas basados en UNIX) se ubica en %systemroot%\system32\config\sam. En todo momento el archivo est manejado y bloqueado por el proceso de sistema por lo que no puede ser movido, copiado o accedido mientras el ordenador est en marcha, ni siquiera por el administrador. Existen muchas maneras de llegar a ese fichero sin pasar por Windows. Arrancar en un sistema Linux alojado en otra particin, o cualquier otra forma de montar particiones NTFS... (Live Cds, por ejemplo). Otros mtodos consisten en buscar otros archivos SAM diseminados por el disco duro. Microsoft guarda una copia de seguridad del archivo en varios directorios, como por ejemplo en %systemroot%\repair cuando el sistema es instalado. Este SAM "de repuesto" no se modificar y contendr la primera contrasea que se le indic a Windows, aunque el usuario haya modificado la clave de administrador posteriormente. Este archivo no est tomado por ningn proceso, se puede leer por cualquiera, por tanto es necesario vigilar especialmente los permisos NTFS para controlar su acceso. Tambin puede existir una copia de la SAM en %systemroot%\winnt\system32\config\sam.bak, que tampoco se encuentra bloqueada por ningn proceso. Por ltimo, si el administrador ha realizado copias de seguridad, es posible encontrar comprimido un %systemroot%\windows\repair\sam._ que se puede expandir con el comando de Microsoft "expand". A partir de Windows 2000, Microsoft utiliza por defecto el sistema adicional de cifrado Syskey. Samdump volcar una versin a su vez cifrada de los verdaderos algoritmos de cifrado de Microsoft LM y NTLM. Con Syskey como medida adicional de seguridad sobre el sistema que almacena las contraseas, Microsoft introdujo una capa ms de seguridad, un cifrado de la SAM que dificulta (no demasiado si no se utiliza bien) los ataques "offline" de fuerza bruta o diccionario sobre este archivo. Syskey estaba destinado a evitar estos ataques (pues cifra sobre cifrado) pero en la prctica, ni Syskey ni los cifrados LM/NTLM han aportado realmente seguridad adicional. Se sigue dependiendo de la fortaleza de la contrasea que elija el usuario.

SEGUNDO DE ASIR

Pgina 3

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

LAS CONTRASEAS EN WINDOWS II (SYSKEY)


QUE ES SYSTEM KEY?
Ante el problema que supuso el pobre sistema de cifrado local de las contraseas (LM y NTLM), Microsoft introdujo una mejora en forma de parche para Windows NT y de serie para Windows 2000 y posteriores. El sistema se llam "Syskey" (System key) y aade una nueva capa de seguridad. Aunque todos los Windows actuales lo utilizan y mantienen activo, Syskey es una de las funcionalidades menos conocidas. Bsicamente, se cifra de nuevo con una contrasea maestra (System key) las firmas o hashes LM y NTLM almacenados en la SAM para intentar protegerlos.

POSIBILIDADES QUE OFRECE SYSKEY


Opcin 1: La contrasea Syskey para cifrar la SAM puede ser almacenada en el registro a travs de una algoritmo de ocultacin ideado por Microsoft. La contrasea es elegida por el propio sistema y el usuario no tiene por qu conocerla. El algoritmo de ocultacin de la contrasea maestra no es en absoluto complejo y ha sido descifrado y hecho pblico. Esta es la opcin que usan todos los Windows por defecto. Opcin 2: Se le puede indicar al sistema que nos pida la contrasea maestra al arrancar Windows. De esta forma el administrador elije la "System key" y se tendr que utilizar tanto esta clave maestra como la contrasea habitual de usuario para poder presentarse. Doble autenticacin. Opcin 3: Por ltimo, se puede almacenar la clave maestra en un disquete. No la pedir al iniciar Windows, la tomar directamente del disquete introducido y el sistema no arrancar si no est presente. Estas dos ltimas opciones son las ms seguras, pues al no permanecer la "System key" en ningn archivo, un atacante con acceso al disco duro (o a la SAM) tendra tambin que conseguir de alguna forma esa contrasea maestra, ya sea su valor o el disquete que la aloja.

SEGUNDO DE ASIR

Pgina 4

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

DESVENTAJAS DE SYSKEY

Un importante impedimento es que si se activa alguna de estas dos ltimas opciones, al arrancar, el sistema no "funcionar" en red hasta que no se le indique esa contrasea maestra. Arranca lo mnimo pero sin 'conectividad'. Una vez introducida la Syskey, levanta la red y pide la contrasea 'normal'. Es un problema para un servidor que se reiniciase a distancia, no podramos conectarnos a l hasta que alguien fsicamente introdujese la contrasea maestra, pues no arrancara por ejemplo el Terminal Server ni cualquier otro servicio definido.

En caso de almacenar la contrasea maestra en disquete sera posible dejarlo en la disquetera y el sistema lo leera automticamente, pero aunque ms cmodo, tambin implica que si se deja introducido sin vigilancia, no se consigue ninguna mejora de seguridad real.

SEGUNDO DE ASIR

Pgina 5

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

LAS CONTRASEAS EN WINDOWS III


Microsoft ha mejorado gradualmente la seguridad de su fichero SAM, pero tambin ha mantenido la compatibilidad hacia atrs con sistemas inherentemente inseguros como Windows 9x. Con la cada vez mayor sofisticacin de herramientas capaces de atacar por fuerza bruta los hashes LM y NTLM, el cifrado (sobre todo el LM) se ha vuelto virtualmente intil si la contrasea no es realmente entrpica y compleja. En Vista y en Windows 7, por fin, se ha eliminado al menos el eslabn ms dbil, el hash LM. Si se estudia el resultado de un volcado online u offline (tras 'saltarse' el syskey) de la SAM, veremos algo as: Administrador:500:42f29043y123fa9c74f23606c6g522b0:71759a1bb2web4da43e676d6b719 0711::: que oculta en realidad el hash LM de la contrasea (42f29043y123fa9c74f23606c6g522b0) y el hash NTLM (71759a1bb2web4da43e676d6b7190711)

SEGUNDO DE ASIR

Pgina 6

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

TIPOS DE CIFRADO
EL CIFRADO LM (LAN MANAGER)
Como dijimos, la SAM almacena dos cifrados por contrasea, LM y NTLM. LM es dbil e inseguro por diseo, y adems, teniendo en cuenta la potencia de los ordenadores actuales capaces de probar cientos de miles de contraseas por segundo, su 'cifrado' es virtualmente intil. LM no aprovecha bien los caracteres de las contraseas y adems comete otra serie de fallos importantes. El algoritmo comete una serie de errores imperdonables, incluso para la poca en la que fue diseado. Convertir todo a maysculas permite a los programas de fuerza bruta atacar directamente utilizando maysculas y reduciendo as el tiempo de clculo, disminuye considerablemente las combinaciones. Pero lo ms grave es que el hecho de partir la contrasea en dos, permite a los programas de fuerza bruta, dividir el trabajo y actuar en paralelo sobre ambos trozos. As es que por ejemplo, en una contrasea de 10 caracteres, un programa de fuerza bruta tendr que atacar en realidad dos partes diferentes: una contrasea de siete caracteres y otra de tres, casi trivial de adivinar. Un usuario con una contrasea de 14 caracteres estara casi igual de expuesto que uno que utilizase una de 7 caracteres de longitud, pues en vez de elevar exponencialmente el tiempo de ataque, slo se tardara el doble (dos trozos de siete en vez de uno) o el mismo tiempo si se trabaja en paralelo. Obviar la diferenciacin entre maysculas y minsculas tampoco resulta, en absoluto, una buena idea

EL CIFRADO NTLM (NTLAN MANAGER)


NTLM supone el segundo "intento" de Microsoft por mejorar el protocolo de las contraseas. Por fin diferencia entre maysculas y minsculas e internamente es ms simple y robusto: calcula el hash cifrando con el estndar MD4 tras una pequea modificacin del valor hexadecimal de la contrasea. Pero por muchas mejoras que introduzca, NTLM queda anulado. Porque por defecto las contraseas son almacenadas y utilizadas en los dos formatos, el arcaico LM y NTLM, juntas en el mismo SAM. Un ejemplo claro de cmo la seguridad es tan fuerte como el ms dbil de sus eslabones

SEGUNDO DE ASIR

Pgina 7

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

LAS CONTRASEAS EN WINDOWS IV (REDES)


Las contraseas en Windows no slo se utilizan para presentarse ante un sistema en local. Deben viajar por la red para mostrar las credenciales a sistemas remotos en los que se confa o al servidor de dominio que realmente gestiona y contiene los datos del usuario. Este escenario es muy comn en redes internas. El usuario debe validarse contra el controlador de dominio, y tambin quizs contra su servidor de correo o su servidor proxy o una unidad compartida en otro Windows. Obviamente las contraseas no viajan en texto claro por la red, aunque sea interna. Cmo les demostramos que somos quienes decimos ser?

EL PROTOCOLO NTLM EN REDES


Sin nimo de aadir confusin, al protocolo de intercambio desafo-respuesta utilizado tambin se le llama NTLM. Los paquetes del protocolo NTLM enviados por las mquinas de Microsoft pueden ser fcilmente identificados porque todos comienzan con la cabecera "NTLMSSP". Por ejemplo, as es como los programas que esnifan credenciales en red saben que se est negociando una autenticacin "a su alrededor". Durante el protocolo de autenticacin, se intercambian tres (tipos de) mensajes desaforespuesta. En lo que sin duda resultar un ejercicio de simplificacin, sentaremos las bases del protocolo: * Mensaje 1: Con este mensaje empieza la conversacin, y lo enva el cliente. Entre otras cosas, en l viajan una serie de flags en los que el cliente le cuenta al servidor los distintos tipos de caractersticas de cifrado y otros parmetros, para que los dos sepan qu es lo que pueden soportar y esperar uno del otro. A continuacin, le indica el nombre de mquina, de dominio, de grupo de trabajo... * Mensaje 2: Este es el que devuelve el servidor al cliente que se quiere autenticar. En l viaja el desafo, que no es ms que un trozo de datos aleatorios con el que el servidor desafa al cliente: "Si sabes manipular este trozo de datos correctamente con tu contrasea, entonces s que eres quien dices ser". * Mensaje 3: En l se encuentran las respuestas que ha calculado el cliente, esto es, el clculo de la combinacin contrasea-desafo con el que el cliente pretende autenticarse. Aqu entran en juego varias posibilidades. O bien se usa LM/NTLM o bien Lmv2/NTLMv2 para calcular estas respuestas.

AUTENTICACIN DESAFOSEGUNDO DE ASIR Pgina 8

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

RESPUESTA
RESPUESTA LM/NTLM La respuesta LM de un cliente ante un desafo es calculada de forma parecida a la firma o hash LM usado para las contraseas locales, pero un poco ms enrevesada. La respuesta al desafo est basada en el propio hash LM que almacena la SAM, por tanto, hay que partir de esa firma para calcular la respuesta LM. Lo que el cliente hace en realidad es cifrarla y mezclarla cifrada con el desafo enviado por el servidor. As el servidor que enva el desafo sabe que slo un cliente que conozca la clave del usuario podra haber obtenido el mismo resultado a partir del desafo que l ha enviado. El proceso de la respuesta NTLM es muy parecido al de LM, ms sencillo pero no por ello menos eficaz. El proceso de respuesta NTLM tambin comienza con el hash NTLM de la contrasea, este hash se rellena hasta los 21 bytes y es partido en tres trozos de 7 bytes. Cada uno, despus de sufrir un proceso de agrupacin de binarios y bits de paridad da un resultado con el se descifra el desafo utilizando cada trozo como clave DES. RESPUESTA LMV2/NTLMV2 Esta respuesta se enva cuando tanto servidor como cliente estn preparados para soportarla (se lo confirman el uno al otro en el primer mensaje). Cuando este tipo de respuesta est habilitado, la respuesta NTLM es sustituida por la NTLMv2 y la LM por la respuesta LMv2. Lo que realmente representa una mejora con respecto a su anterior versin, es que se utiliza una firma de tiempo y un desafo que tambin propone el cliente. A modo de resumen, se puede destacar que se parte igualmente del hash NTLM de la firma de la contrasea y se calcula el hash HMAC-MD5 del valor en unicode del nombre de usuario y dominio en maysculas. Como clave se utiliza el hash NTLM. El resultado es el hash NTLMv2. A estos datos, todos concatenados, se le aade el desafo y se vuelve a calcular HMAC-MD5 utilizando el hash NTLMv2 (calculado previamente) como clave. LMv2 puede ser visto como un NTLMv2 en miniatura, pero sin firma de tiempo. Se calcula el HMAC-MD5 utilizando el hash NTLMv2 como firma de los dos desafos, el del servidor y uno que genera el cliente para la ocasin. AUTENTICACIN KERBEROS Con Windows 2000 Microsoft introdujo adems para su Directorio Activo un sistema estndar de autenticacin, Kerberos, mucho ms avanzado que lo anteriormente descrito, pero que no los sustituye. Para funcionar con autenticacin Kerberos en una red, es necesario un servidor de Kerberos (que coincide con el controlador de dominio). En entornos de grupo de trabajo, por ejemplo, y en ciertas circunstancias bajo un dominio, se sigue usando LM/NTLM o LMv2/NTLMv2. Adems de Kerberos, para cuando no es posible usarlo, se pueden configurar los servidores para obligarles que solo negocien la versin 2 del protocolo de Microsoft y evitar as que las contraseas viajen por la red y sean fcilmente descifrables. SEGUNDO DE ASIR Pgina 9

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

DESCIFRANDO CONTRASEAS
CONTRASEA javi

SAMINSIDE Con este programa logramos desencriptar la contrasea en un segundo ms o menos, es decir instantneamente.

Con este programa tambin se produce el resultado casi instantneamente.

SEGUNDO DE ASIR

Pgina 10

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

Con ophcrack hemos tardado 51,30 segundos en desencriptar la contrasea, aunque al final nos la ha sacado como podemos ver en lo que ms ha tardado ha sido en cargar las tablas, quizs por ser la primera vez que ejecutamos el programa.

GPU-BRUTEFORCE Con este programa que utiliza la potencia de nuestra tarjeta grfica para desencriptar la contrasea vemos que en un segundo ha sido capaz de sacrnosla

SEGUNDO DE ASIR

Pgina 11

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012


CONTRASEA javiergarcia

SAMINSIDE Aunque no podemos ver el tiempo en el que nos ha sacado la contrasea, ha tardado como un minuto y medio.

Vemos como esta aplicacin online no ha sido capaz de desencriptar la contrasea. Lo que da a pensar que no esta hecha para contraseas de tal longitud.

SEGUNDO DE ASIR

Pgina 12

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

Vemos que aqu ophcrack, se muestra imponente desencriptando la contrasea en solamente doce segundos

GPU-BRUTEFORCE Podemos observar que seguramente la mejor aplicacin que existe para desencriptar contraseas por la fuerza bruta no ha podido con esta contrasea, seguramente al ser la versin DEMO y estar muy limitada.

SEGUNDO DE ASIR

Pgina 13

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012


CONTRASEA JavierGarcia

SAMINSIDE Vemos que SAMInside se ha comportado perfectamente devolvindonos la contrasea en mas o menos dos minutos.

Como era de esperar no nos devuelve ningn resultado

SEGUNDO DE ASIR

Pgina 14

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

Este programa nos vuelve a sorprender con su rapidez descifrando la contrasea en tan solo trece segundos y medio.

GPU-BRUTEFORCE Y por ltimo esta aplicacin nos vuelve a decepcionar y no nos arroja ningn resultado vlido.

SEGUNDO DE ASIR

Pgina 15

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012


CONTRASEA Javi.Seguridad

SAMINSIDE Vemos como no es capaz de descifrar la contrasea y solo puede con parte de ella GURIDAD lo cual ya es algo, pues si fuera algo con sentido con un poco de ingeniera social la podramos terminar de adivinar, en este caso al ser de clase, lo suyo seria probar con seguridad verdad? Y el nombre del usuario delante no es tan difcil no?

Como era de esperar esta aplicacin no nos da ningn resultado

SEGUNDO DE ASIR

Pgina 16

[USUARIOS Y CONTRASEAS EN WINDOWS] 22 de enero de 2012

Y como en las dems ocasiones ophcrack, se muestra muy similar a SamInside, al que solo gana en tiempo de ejecucin cosa que por otra parte tambin es importante en este tipo de programas.

GPU-BRUTEFORCE Por ltimo esta aplicacin nos devuelve lo que viene siendo NADA ya que solo ha funcionado en la primera prueba.

SEGUNDO DE ASIR

Pgina 17

You might also like