Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE ACAPULCO
INGENIERIA EN SISTEMAS COMPUTACIONALES
Admn. De la Seguridad
Profesor: Dr. De La Cruz Gmez Eduardo
Practica Crack Contraseas S.O.
Integrantes del Equipo:
09320873
09320855
09320864
09320768
09 de Abril de 2014
NDICE
Introduccin ............................................................................................................................ 3
Marco Terico ......................................................................................................................... 4
Objetivo................................................................................................................................. 10
Objetivos especficos............................................................................................................. 10
Desarrollo Terico ................................................................................................................. 11
Desarrollo Prctico ............................................................................................................... 26
Resultados obtenidos............................................................................................................ 32
Conclusiones ......................................................................................................................... 33
Bibliografa ........................................................................................................................... 33
ANEXOS ................................................................................................................................. 34
2|Pgina
Introduccin
En el contexto de la informtica, un usuario es una persona aquella que utiliza un sistema
informtico. Para que los usuarios puedan obtener seguridad, acceso al sistema,
administracin de recursos, etc, dichos usuarios debern identificarse. Para que uno
pueda identificarse, el usuario necesita una cuenta (una cuenta de usuario) y un usuario,
en la mayora de los casos asociados a una contrasea. Los usuarios utilizan una interfaz
de usuario para acceder a los sistemas, el proceso de identificacin es conocido
como identificacin de usuario o acceso del usuario al sistema (del ingls: "log in").
A una cuenta se le identifica por un nombre de usuario (comnmente conocido
como login) y una contrasea (o password).
El nombre de usuario es un nombre nico que se identifica a cada usuario (aunque en
ocasiones existen alguna clase de usuarios 'invitado'). Los nombres de usuario se basan
por lo general en cadenas cortas alfanumricas. Dependiendo de las polticas o los
servicios en particular, los nombre de usuario son elegidos ya sea por el usuario, o
asignados por el administrador de sistemas.
Las opciones generalmente utilizadas para los nombres de usuarios pueden ser el nombre,
las iniciales o alguna combinacin con el nombre, apellido, iniciales o algunos nmeros
arbitrarios. Algunas veces los sistemas dictan los aspectos para elegir un nombre de
usuario
Una cuenta de usuario es una coleccin de informacin que indica a Windows los archivos
y carpetas a los que puede obtener acceso, los cambios que puede realizar en el equipo y
las preferencias personales, como el fondo de escritorio o el protector de pantalla. Las
cuentas de usuario permiten compartir un equipo con varias personas pero manteniendo
sus propios archivos y configuraciones. Cada persona obtiene acceso a su propia cuenta
de usuario con un nombre de usuario y una contrasea.
Hay tres tipos de cuentas. Cada tipo proporciona al usuario un nivel diferente de control
sobre el equipo:
Marco Terico
Mecanismo general de autenticacin
La mayor parte de los sistemas informticos y redes mantienen de uno u otro modo una
relacin de identidades personales (usuarios) asociadas normalmente con un perfil de
seguridad, roles y permisos. La autenticacin de usuarios permite a estos sistemas asumir
con una seguridad razonable que quien se est conectando es quien dice ser para que
luego las acciones que se ejecuten en el sistema puedan ser referidas luego a esa
identidad y aplicar los mecanismos de autorizacin y/o auditora oportunos.
El primer elemento necesario (y suficiente estrictamente hablando) por tanto para la
autenticacin es la existencia de identidades biunvocamente identificadas con un
identificador nico (valga la redundancia). Los identificadores de usuarios pueden tener
muchas formas siendo la ms comn una sucesin de caracteres conocida comnmente
como login.
El proceso general de autenticacin consta de los siguientes pasos:
1. El usuario solicita acceso a un sistema.
2. El sistema solicita al usuario que se autentique.
3. El usuario aporta las credenciales que le identifican y permiten verificar la
autenticidad de la identificacin.
4. El sistema valido segn sus reglas si las credenciales aportadas son
suficientes para dar acceso al usuario o no.
SAM
El Administrador de cuentas de seguridad (SAM) es un archivo de registro en Windows NT,
Windows 2000, Windows XP, Windows Vista y Windows 7. Se almacena las contraseas
de los usuarios en un formato de hash (en hash LM y NTLM hash). Puesto que una funcin
hash es de un solo sentido, esto proporciona una cierta medida de seguridad para el
almacenamiento de las contraseas.
4|Pgina
Algoritmo Hash
Una funcin hash es mtodo para generar claves o llaves que representen de manera casi
unvoca a un documento o conjunto de datos. Es una operacin matemtica que se realiza
sobre este conjunto de datos de cualquier longitud, y su salida es una huella digital, de
tamao fijo e independiente de la dimensin del documento original. El contenido es
ilegible.
Es posible que existan huellas digitales iguales para objetos diferentes, porque una
funcin hash, en el caso del SHA-1 tiene 160 bits, y los posibles objetos a resumir no
tienen un tamao lmite.
A partir de un hash o huella digital, no podemos recuperar el conjunto de datos originales.
Los ms conocidos son el MD5 y el SHA-1. Cifrar una huella digital se conoce como firma
digital.
Requisitos que deben cumplir las funciones hash:
-Imposibilidad de obtener el texto original a partir de la huella digital.
- Imposibilidad de encontrar un conjunto de datos diferentes que tengan la misma huella
digital (aunque como hemos visto anteriormente es posible que este requisito no se
cumpla).
- Poder transformar un texto de longitud variable en una huella de tamao fijo (como el
SHA-1 que es de 160bits).
- Facilidad de empleo e implementacin.
5|Pgina
Como ocurre con todos los cifrados y hash, cuanto ms seguro, ms lento su
procesamiento y uso, debemos encontrar un equilibrio entre seguridad y velocidad.
Software
En GNU/Linux podis encontrar el md5sum y el sha1sum por defecto instalados.
En Windows podis bajar el Snap MD5 que es un todo en uno (tiene para MD5 y para SHA1).
6|Pgina
Tipos de ataques
Principalmente hay tres tipos de ataques: fuerza bruta, ataque de diccionario y utilizando
unas tablas llamadas Rainbow tables.
El ataque de fuerza bruta consiste en generar el hash de todas las posibles combinaciones
y compararlas con el hash. A simple vista parece viable, pero a la hora de la verdad hay
demasiadas combinaciones por lo que al final el tiempo necesario puede ser inviable.
El ataque con diccionario consiste en utilizar un fichero que contiene una lista de las
contraseas ms utilizadas e ir probando una a una. Ahora bien, si la contrasea no se
encuentra en la lista, no hay forma de hallarlo.
Otro tipo de ataque se puede hacer utilizando las Rainbow tables, el cual consiste en
unos hashes pre generados en unas tablas de tal manera que el espacio requerido en
memoria no es muy grande, a cambio de sacrificar ms procesador
7|Pgina
8|Pgina
9|Pgina
Objetivo
Demostrar que una mala implementacin de las contraseas de usuarios pueden poner en peligro
los recursos de una organizacin.
Objetivos especficos
10 | P g i n a
10
Desarrollo Terico
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.
Tipos de ataque
Existen bsicamente dos mtodos con los que obtener estos hashes. Uno es "offline" y
tiene como barrera (evitable) una funcionalidad de Windows. Otra es "online" y muestra
los hashes tal cual.
11 | P g i n a
11
Esto no impide realmente que alguien pueda hacerse con el archivo. 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. En este
directorio se encontrar un archivo SAM de menor peso que "el oficial" y con fecha de
instalacin del sistema. Esta 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".
Una vez que se ha tenido acceso al archivo en cuestin, sea con el mtodo que sea, se
puede "volcar" su interior con herramientas como samdump, disponible de forma gratuita
desde hace aos. En teora, al volcar este archivo deberamos obtener los hashes LM y
NTLM de las contraseas. Pero esto no es as. 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.
12 | P g i n a
12
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 sistemas 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.
Esto es, como suele ser habitual, una buena idea mal utilizada. En la prctica resulta un
sistema de seguridad con ciertas contraindicaciones. Tras aplicar ingeniera inversa, se
descubri e hizo pblico el sistema de cifrado de Microsoft para Syskey y existen
programas de 'crackeo' que permiten saltarse este mtodo de seguridad sin mayor
problema. Sin embargo, si Syskey se utiliza correctamente, puede prcticamente eliminar
la posibilidad de un ataque "offline" en caso de que se robe el disco duro, se tenga acceso
a l arrancando con otro sistema operativo, etc.
13 | P g i n a
13
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.
Almacenado de la llave
Cuando la contrasea es almacenada en el registro (primera opcin), lo hace "repartida"
en diferentes puntos del registro. Windows realiza unas permutaciones de estos datos
para ofuscarla. Existe una herramienta llamada bkhive que permite la recuperacin de la
contrasea Syskey. Si se obtiene este dato y el archivo SAM, se podr eliminar la capa de
seguridad introducida por Syskey sin problemas y obtener los hashes LM/NTLM de las
contraseas. Y a efectos prcticos, quien tiene acceso a la SAM tiene acceso a esa zona del
registro que almacena la clave maestra Syskey. Es como instalar una cancela de seguridad
adicional ante la puerta de casa, pero esconder su llave bajo el felpudo.
Por tanto, aunque el Syskey se mantenga activo en un Windows, un atacante podra
acceder a travs de cualquier sistema al disco duro (de nuevo una distribucin "Live" de
Linux, o usar el disco duro en otra mquina...), tener acceso al fichero SAM, usar bkhive
para obtener el Syskey, combinar ambos datos con samdump, obtener los hashes
LM/NTLM y emplear por fin la fuerza bruta contra ellos. Aunque parezca complejo, es un
proceso de un par de pasos automticos con los programas adecuados
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 posteriores 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:71759a1bb2web4da43e676d6b
7190711:::
Que oculta en realidad el hash LM de la contrasea
(42f29043y123fa9c74f23606c6g522b0) y el hash NTLM
(71759a1bb2web4da43e676d6b7190711)
14 | P g i n a
14
15 | P g i n a
15
Durante mucho tiempo se dio por cierto que la contrasea ptima en Windows deba ser
de 14 caracteres. Primero porque antes de Windows 2000 (que permite contraseas de
127 caracteres) los cuadros de dilogo de NT que pedan la contrasea, no dejaban
escribir ms de 14 letras.
Y segundo por la naturaleza propia de LM, que no soporta ms de 14 caracteres. Pero... si
en Windows 2000 se aceptan ms de 14 caracteres para la contrasea, y el cifrado LM se
ha mantenido hasta Vista por razones de compatibilidad. Qu pasaba entonces con el
cifrado LM cuando la contrasea estaba compuesta por ms de 14 caracteres? Cmo lo
divide internamente Windows para calcular el hash LM si ste necesita partirla en dos
trozos de 7 bytes cada uno? El protocolo LM rellena la contrasea de ceros cuando es
menor de 14 letras para poder partirla en dos... cmo dividir entonces en dos trozos de 7
caracteres una contrasea de 15? Interesante pregunta para la que no existe respuesta.
De este tipo de contraseas, simplemente, no se calcula el hash LM. En estos casos el
sistema operativo no almacena el hash LM, el algoritmo no lo soporta. Adems de mejorar
la seguridad por el hecho en s de usar una contrasea de mayor longitud, dando una
asombrosa vuelta de tuerca, esto protege contra ataques de fuerza bruta.
Windows, cuando la contrasea tiene ms de 15 caracteres, almacena la constante
aad3b435b51404eeaad3b435b51404ee como hash LM (resultado de aplicar el cifrado LM
a dos cadenas nulas de siete caracteres cada una y concatenarlas), que tambin es
equivalente a una contrasea nula. Como la contrasea obviamente no es nula, los
intentos de ataques contra el hash fallarn sistemticamente. Esto no significa que una
contrasea de ms de 14 caracteres sea 'equivalente' a una contrasea nula. Aunque LM
indique que la contrasea es nula, si no lo es, lgicamente ah est (a su lado,
literalmente) el hash NTLM para confirmar que no es as. Los programas de fuerza bruta
que busquen la contrasea en el hash LM no funcionarn correctamente.
En cualquier caso, siempre ha existido la posibilidad de indicarle a Windows que no
almacene el hash LM de la contrasea (aunque sea de menos de 14 caracteres) en el
sistema. Vista y posteriores, por defecto, no lo almacena, aunque solo por seguridad yo
elegira una contrasea de ms de 15 caracteres.
16
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.
Un atacante necesita el desafo que envi el servidor, y esta respuesta (obtenidas quizs al
esnifar el trfico de red) para intentar aplicar la fuerza bruta y sacar las credenciales en
texto claro.
Autenticacin desafo-respuesta
Cmo calcula el cliente esa combinacin contrasea-desafo? Puede utilizarse la
combinacin LM/NTLM para redes, o su versin avanzada LMv2/NTLMv2 para redes. Al
igual que el sistema almacena la contrasea cifrada con dos algoritmos, Microsoft ha
mantenido ambas posibilidades y parejas de protocolos, unos ms dbiles que otros.
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
17 | P g i n a
17
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 l 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.
Con esta ltima opcin las contraseas viajan de una forma mucho ms segura por las
redes. Como de costumbre, slo estuvo disponible a partir de Windows 2000 (como
servidor y cliente) y desactivado por defecto en posteriores.
18 | P g i n a
18
Este archivo posee un formato especial que permite marcar a cada usuario y cada una de
sus lneas tiene el siguiente formato:
nombre_de_cuenta: contrasea: numero_de_usuario: numero_de_grupo: comentario:
directorio: programa_de_inicio
Se especifican siete campos separados por el carcter ":":
Es importante saber que las contraseas ubicadas en este archivo estn codificadas. Por lo
tanto, es intil editar y reemplazar el campo password al introducir directamente la
contrasea. Esto slo provocara el bloqueo de la cuenta.
Una vez que el usuario se conecta, el programa de inicio de sesin compara la contrasea
que el usuario introdujo (despus de codificarla) con la contrasea almacenada en el
archivo passwd. Si no coinciden, no se puede establecer la conexin.
Para prohibir el uso, slo se debe reemplazar la contrasea codificada por una estrella:
"*".
Se puede tener acceso a una cuenta al dejar el campo password abierto. Entonces
cualquier persona que desee conectarse por medio de la cuenta puede hacerlo.
Para poder modificar la contrasea de una cuenta con el comando passwd, debe ser el
administrador del sistema o el dueo de la cuenta (despus el sistema le solicitar al
usuario que introduzca la contrasea antigua antes de pedirle que introduzca la
contrasea nueva dos veces).
19 | P g i n a
19
UID: Identificador (nico) de cada cuenta de usuario. Con frecuencia los nmeros entre el
0 y el 99 se reservan para las cuentas propias del equipo. Los nmeros mayores a 100 se
reservan para las cuentas de usuario.
GID: Identificador de grupos. El grupo predeterminado (denominado grupo) posee el
nmero 50. Este identificador se usa junto con los derechos de acceso a los archivos. Este
tema slo le interesar si su sistema posee ms de un grupo de usuarios. (En tal caso,
debe tener en cuenta el archivo /etc/group).
Es posible modificar el intrprete de comandos desde la shell. Para hacerlo, debe usar el
comando chsh o el comando passwd -s. Linux buscar el programa que se especific en el
archivo /etc/shells. Slo se aceptarn los comandos que estn presentes en este archivo y
se reemplazar el valor actual del campo programa_de_inicio. Estas restricciones no se
aplican a la cuenta del superusuario.
Asegrese de que los derechos de acceso al archivo /etc/shells sean los mismo que los del
archivo /etc/passwd.
El superusuario no siempre tiene que llamarse raz. Para cambiar esto, slo debe
reemplazar el nombre de la cuenta raz por el nombre deseado.
Una cuenta privilegiada es aquella cuyo identificador (UID, ID del usuario) es cero.
Una buena regla relacionada con las contraseas es utilizar al menos un punto, un
carcter especial, una
mayscula y un nmero, sin embargo no podemos confiar que
todos los usuarios saben y aplicaran esta regla. La gente suele elegir contraseas fciles de
recordar, pero hay una predisposicin a utilizar contraseas que existen en los
diccionarios de hackers.
Muchos dirn que la ``brute forceno se puede hacer porque no hay acceso externo a
ssh(secure shell), o han puesto en prctica varios mtodos para prevenir el acceso
despus de muchos intentos de conexin fallidos, pero existe la posibilidad de que un fallo
del sistema (un servidor de seguridad que permite el acceso a cualquier persona) y luego
son vulnerables sin saberlo. Una buena estrategia de seguridad es el diseo sin contar con
los otros equipos y tecnologas (firewalls, IDS, IPS) por lo que incluso si un equipo se
bloquea la seguridad de los datos no sea comprometida. Utilizando la gua siguiente el
usuario puede ser obligado a elegir una contrasea lo suficiente compleja que no es fcil
de romper. El usuario debe ser aconsejado en usar algo fcil de recordar pero que
cumplan los requisitos de complejidad sin tener que apuntar la contrasea en la oficina o
en el ordenador.
20 | P g i n a
20
Para llevar a cabo un cierre patronal en caso de que una contrasea sea incorrecta
demasiadas veces (cierre patronal - Bloquear usuario) se utiliza el PAM con mdulo
pam_tally2 para proporcionar oportunidades de lockout daemon, esta medida debe
aplicarse con cuidado, ya que ofrecen la posibilidad de ataques tin DoS en el servidor.
En el archivo /etc/pam.d/system-auth buscamos la lnea
auth sufficient pam_unix.so try_first_pass nullok
i la modificamos para tener el siguente aspecto:
auth required pam_unix.so nullok try_first_pass
En el mismo fichero comentamos o eliminamos las siguientes lneas:
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
Entonces se debe editar el archivo individual de configuracin /etc/pam.d (sshd) aadir al
final de la seccion:
auth required pam_tally2.so deny=5 onerr=fail
Donde deny=5 especifica el nmero de errores en la autenticacin a continuacin, en la
seccin final:
account required pam_tally2.so
Para desbloquear un usuario bloqueado por el mdulo pam_tally2:
/sbin/pam_tally2 --user username --reset
21 | P g i n a
21
En ambos casos el acceso a dicho fichero est vetado durante la ejecucin del sistema, por
lo que no podremos ni copiarlo, ni borrarlo ni moverlo.
La seguridad de un sistema Windows se basa, principalmente, en tres componentes
denominados Local Security Authority o LSA, SRM o Security Reference Monitor y SAM o
Security Account Manager para controlar la autenticacin en el inicio de sesin de
Windows, la seguridad a nivel de objetos y los permisos y derechos de usuarios
respectivamente. Los dos primeros en la capa de usuario y el ltimo componente a nivel
del Kernel o ncleo del Sistema Operativo.
22 | P g i n a
22
500 Administrador
501 Invitado
512 Administradores del Dominio
513 Usuarios del Dominio
Por otra parte, a la primera cuenta de usuario creada en un sistema local o dominio se le
asigna un RID igual a 1000, aumentando este en 1 para cada una de las subsiguientes.
23
El mtodo de generacin de los textos puede ser mediante fuerza bruta (dado un
conjunto de caracteres el programa genera de forma aleatoria todas las combinaciones
posibles de los mismos) o un ataque por diccionario (listas de palabras proporcionadas a
priori).
Pwdump
Pwdump nos permitir extraer las passwords dinmicamente de la LSA [Local Security
Authority], del registro. Para que funcione, debe ejecutarse bajo una cuenta de
administrador, o ser capaz de acceder a una cuenta de administrador en el equipo en el
hashes, son objeto de dumping.
Ophcrack
Ophcrack es una herramienta para crackear las contraseas de Windows basada en las
tablas Rainbow. Es una implementacin muy eficiente de las tablas Rainbow hecha por los
inventores de este mtodo. Viene con una Interfaz Grfica de Usuario GTK+ y corre bajo
Windows, Mac OS X (CPU Intel) y tambin en Linux.
24 | P g i n a
24
Permite definir el rango de letras que se usar para construir las palabras y las
longitudes.
Permite parar el proceso y continuarlo ms adelante.
Permite incluir reglas en el diccionario para decir cmo han de hacerse las
variaciones tipogrficas.
Se puede automatizar; por ejemplo, ponerlo en cron.
MTODOS DE BSQUEDA
Single crack. Prueba el nombre del usuario, el nombre del home y combinaciones
entre stos y nmeros y letras para dar con la clave. Para utilizar slo este mtodo:
john --single fichero_claves
Wordlist. Utiliza el mtodo por diccionario. Podemos utilizar el que viene por
defecto o probar con otro. Utilizacin:
john --wordlist=password.lst ficero_claves
(password.lst es el diccionario que viene con el programa)
Incremental. Es el mtodo ms potente para averiguar contraseas, ya que puede
probar todas las combinaciones de caracteres posibles. Utilizacin:
john --incremental fichero_claves
john i fichero_claves (mtodo abreviado)
En el modo incremental le podemos indicar los tipos de caracteres que utilizar:
john i = alpha fichero_claves
Alpha utilizar los caracteres de a a zzzzzzzz. Los modos del mtodo incremental
son: all, alnum, alpha, digits, lanman.
FUNCIONAMIENTO
Para empezar, debemos obtener una copia del archivo SAM (Security Account Manager),
que es un fichero que almacena los nombres de usuarios y contraseas (cifradas) del
equipo o dominio. Podemos utilizar, para realizar esta tarea, pwdump, fgdump, u otro
programa que haga el mismo trabajo.
Una vez tengamos el archivo con las contraseas y John the Ripper descargado,
ejecutaremos la siguiente orden, (en la consola de comandos), para comenzar la bsqueda
de claves:
25 | P g i n a
25
john archivo_claves: De esta forma se hace una bsqueda de forma general usando todos
los modos de este programa.
john --incremental fichero_claves: Si se desea hacer por fuerza bruta se debe usar el
modo incremental.
Una vez haya acabado el programa de averiguar las contraseas, las podemos visualizar
ejecutando: john --show fichero_claves
Para interrumpir una sesin basta con pulsar la combinacin de teclas Ctrl + c.
Las sesiones interrumpidas se puede continuar con: john restore o john - restore =
allrules
Desarrollo Prctico
Creacin de usuarios en Windows 7 ultimate
Para agregar nuevos usuarios nos dirigimos a la siguiente ruta: Panel de control\Cuentas
de usuario y proteccin infantil\Cuentas de usuario\Administrar cuentas.
26 | P g i n a
26
Paso 1)
El primer paso es obtener el hash. Debido a que el sistema no nos deja acceder al SAM
debido a que lo est utilizando, tenemos que usar una herramienta llamada fgdump o
tambin usando un cd live. En nuestro caso por mayor comodidad y rapidez utilizaremos
fgdump.
Tan solo ay que ejecutarla como administrador, antes deshabilitamos nuestro antivirus
por razones obvias.
27 | P g i n a
27
Nos generara unos archivos de los cuales nos interesa el que se llama 127.0.0.1.pwdump
donde est la informacin del fichero SAM. Se sugiere cambiar el nombre y la extensin a
hashw.txt
Paso 2:)
Abrimos ophcrack.
Una vez abierto tenemos que cargar el archivo del paso anterior, para eso le damos clic en
load, ponemos la ruta del archivo y le damos en open.
Paso 3:) Agregamos las tablas rainbow que vamos a utilizar para ello le damos clic sobre el
botn tables, y seleccionamos nuestras tablas deseadas:
28 | P g i n a
28
Paso 4:) comenzamos el proceso de crackear el hahs de los usuarios que hemos creado;
clic sobre el botn crack
29 | P g i n a
29
Paso 5:) solo es cuestin de esperar para ver los resultados obtenidos, esto va a variar
segn el procesador y memoria RAM del equipo.
Observamos que en 4minutos con 15 segundos nos dio la contrasea del usuario dos y
ocho, adems de la contrasea de mi cuenta del equipo.
Ya obtuvimos las
contraseas de la
mayora
de
las
cuentas solo faltaron
las contraseas de los
usuarios siete y seis,
donde nos indica que
el procedimiento de
las tablas de rainbow
no funciona.
30 | P g i n a
30
Aunque le tomo menos tiempo de encontrar la contrasea los usuarios cuatro, tres y dos
este programa no nos permite hacer otro tipo de ataque si no tenemos su licencia
correspondiente, la cual est fuera de nuestro alcance.
31 | P g i n a
31
32
Resultados obtenidos
Usuario
uno
dos
tres
cuatro
Contrasea
abcdefg
12345678
123abc
Leonardo
Nivel de
fortaleza
Bajo
Bajo
Media
Media
Tiempo en
ejecucin
Tcnica
3 seg
Tabla
Rainbow
3 seg
Diccionario
por medio
de
Lopcrack
3 seg
Diccionario
por medio
de
Lopcrack
3 seg
Diccionario
por medio
de
Lopcrack
xito en el
ataque
Observaciones
SI
Longitud de 7
caracteres, debilidad en
su fortaleza, factible de
encontrar en ataque por
diccionario.
Si
Longitud de 8 caracteres.
Es una contrasea sencilla
que por ser una secuencia
numrica continua es de
las primeras opcin a
probar en un diccionario.
Longitud 6 caracteres
combina nmeros y letras
Si
Longitud 8 caracteres un
Si
Longitud 6 caracteres
cinco
kavkaz
Media
6 min 28
seg
Tabla
Rainbow
Si
combinacin de caracteres
sin aparente coherencia,
pero no posee variaciones
de maysculas ni
caracteres especiales por
lo que se necesitan
relativamente pocas
combinaciones para
encontrarla.
Longitud 8 caracteres
combinacin de caracteres,
seis
a.7FeN3z
Alta
No
Longitud 8 caracteres
siete
ocho
3.14.16.
airAd
Alta
Media
No
4 min 15
seg
combinacin de nmeros y
caracteres que presenta una
dificultad razonable pero al
incluir solo un carcter y
nmeros puede ser
descifrable.
Longitud 5 caracteres es
Tabla
Rainbow
Si
32 | P g i n a
Conclusiones
Hoy en da existen mltiples programas computacionales que son capaces de romper las
contraseas almacenadas en los hashes de los sistemas operativos. Pero la seguridad del
sistema recae en la complejidad de la contrasea as que si queremos tener nuestro
sistema informtico seguro debemos usar contraseas tan robustas como sea posible,
para lograr este objetivo de crear contraseas complejas existen programas en internet
que precisamente hacen el trabajo por nosotros, utilizan buenos algoritmos de cifrado de
datos al hacer una combinacin de las entradas de las cadenas que se van a utilizar para
cifrar la contraseas almacenas en los hashes, nos dimos cuenta que estos programas son
capaces de descifrar aquellas contraseas que son creadas ms al perfil del usuario, es
decir utilizando diferente mtodos como la fuerza bruta, diccionarios o tablas Rainbow .
Debemos de poner analizar la situacin como atacante probando diferentes herramientas para
auditar que tan seguras son nuestras cuentas de usuario, concientizar a los usuarios de la
importancia de utilizar una contrasea robusta, para evitar posibles ataques. La responsabilidad
de la utilizacin de herramientas como Ophcrack y Lophcrack recae en manos de quien las utilice.
Bibliografa
http://windows.microsoft.com/es-xl/windows/what-is-user-account#1TC=windows-7
http://es.wikipedia.org/wiki/Autenticacin
http://www.redeszone.net/2010/11/09/criptografia-algoritmos-de-autenticacion-hash/
http://www.intypedia.com
http://en.wikipedia.org/wiki/Local_Security_Authority_Subsystem_Service
http://mimundomultimedia.wordpress.com/2012/06/26/revelar-contrasenas-de-iniciode-windows-7-usando-ophcrack/
http://ophcrack.sourceforge.net
http://www.l0phtcrack.com
33 | P g i n a
33
ANEXOS
Crearemos los siguientes usuarios:
Usuario
Contrasea
uno
abcdefg
dos
tres
cuatro
cinco
seis
siete
ocho
12345678
123abc
Leonardo
kavkaz
a.7FeN3z
3.14.16.
airAd
Paso 1)
Utilizaremos BackTrack para esta prctica. Para dar de alta a los usuarios lo haremos por
medio de comandos, para ello abrimos una terminal y tecleamos adduser nombre de
usuario, como se observa en las siguientes imgenes:
34 | P g i n a
34
35 | P g i n a
35
Paso 2)
Copiamos el contenido del archivo shadow, vamos a la siguiente ruta etc/shadow.
Observe las siguientes imagenes:
36 | P g i n a
36
Paso 3)
Abrimos una nueva terminal para abrir vi hahs. Nos aparecer una ventana ah pegaremos
lo que copiamos en el paso anterior y guardaremos los cambios en el archivo (esc:wq).
Observe la siguiente imagen:
37 | P g i n a
37
Paso 4)
Como utilizaremos scripts de John the ripper tecleamos en la consola lo siguiente:
cd/pentest/passwords/jonh:
Nos dice que se leyeron 9 password hashes. Esto es porque tambin toma en cuenta al
usuario root que viene predefinido. Solo es cuestin de esperar (mucho tiempo) y nos
aparecern las cuentas con sus contraseas correspondientes.
38 | P g i n a
38