You are on page 1of 35

0

Ingeniera en sistemas
computacionales
Asignatura: Seguridad en Tics
Catedrtico: Dr. Eduardo de la Cruz
Gmez
Practica 3: Crack contraseas S.O

Integrantes del equipo


1.Cuevas Nez Carlos
2.Rodrguez Serrano Oscar
3.Solano Hernndez Cinthya Vianey
4.Valle Chvez Ismael

Horario 8:00 9:00


a.m.
Noviembre 2014

Prctica Crack de Contraseas de Sistemas Operativos


Objetivo
Demostrar que una mala implementacin de las contraseas de usuarios
pueden poner en peligro los recursos de una organizacin.
Objetivos especficos
Analizar el funcionamiento de los servicios de gestin de contraseas en
sistemas operativos LINUX y Windows, documentar sus fortalezas y sus
debilidades.
Investigar sobre los algoritmos de cifrado usados en los gestores de
contraseas.
Llevar a cabo un ataque usando una aplicacin de crack (pwdump, cain
& Abel, Ophcrack, etc.), mediante las tcnicas de fuerza bruta,
diccionario, ataque hibrido, etc.
Realizar un reporte tcnico de los experimentos.
Condiciones de la prctica
Dar de alta a los siguientes usuarios y contraseas, llenar la tabla de
resultados:
Usuar
io

Contras
ea

Nivel
de
fortal
eza

Tiempo
en
ejecuci
n

Tcni
ca

xito Observaciones
en el
ataq
ue

uno

abcdefg

Bajo

3 minutos

Fuerz
a
bruta

SI

dos

Longitud
de
7
caracteres, debilidad
en
su
fortaleza,
factible de encontrar
en
ataque
por
diccionario.

1234567
8
tres
123abc
cuatro Leonardo
cinco
kavkaz
seis
a.7FeN3z
siete
3.14.16.
ocho
airAd
*** Solo esta contrasea debe ser anexada en la base de datos del
diccionario utilizado para la prctica; se asume que los datos
recabados para esta contrasea fueron obtenidos por Ingeniera
Social, es un nombre compuesto y propio, aunque manipulado en
diversas variantes, originalmente es DAIRA.
Datos adjuntos

Tiempo total de las corridas dedicadas al ataque en Windows:


Tiempo total de las corridas dedicadas al ataque en Linux:
Procesador y memoria dedicada en la mquina que realiz el ataque:
Tamao del diccionario empleado:
Anexar evidencia de los ataques y de los datos recabados.

ndice
1. Introduccin...............................................................3
2. Marco terico.............................................................4
3. Desarrollo...............................................................12
3.1 Desarrollo crack contraseas Windows.............12
3.2 Desarrollo crack contraseas de Linux..............21
4. Conclusin..............................................................30
5. Bibliografa..............................................................30

1. Introduccin
Hoy en da la confidencialidad de los datos es uno de los objetivos principales de
la seguridad en cmputo y uno de los mecanismos para lograrla mediante el uso
de contraseas.
Imaginemos que la contrasea es el tipo de candado, cerradura, cerrojo, etc. con
el que uno asegura su casa. Si uno utiliza un candado de papel, Cunta
seguridad puede proporcionar al objeto que se desea resguardar?
El uso de contraseas se remonta a la antigedad: los centinelas que vigilaban
una posicin solicitaban el santo y sea al que quisiera pasar. Solamente le
permiten el acceso a aquella persona que conoce la sea.
Hoy en da, el mtodo ms habitual para acceder a la informacin almacenada en
nuestros ordenadores, correo electrnico y otros servicios es mediante
contrasea. La contrasea es una informacin secreta que se nos solicita para
acceder a algn tipo de recurso, y que solo debe conocer el propietario del mismo.
El problema principal de la seguridad radica en el empleo de contraseas dbiles
para la proteccin de los datos, ya que esto permite que los intrusos realicen
distintos ataques contra sistemas tratando de comprometer su seguridad.
La mejor solucin ante ello es el empleo de contraseas robustas que otorguen un
grado de seguridad ms elevado para la proteccin de la informacin. Uno de los
inconvenientes principales en el empleo de contraseas robustas es que son
difciles de recordar, sin embargo existen tcnicas que permiten utilizarlas sin
necesidad de anotarlas en algn lugar fsicamente o decrselas a alguien ms.
El objetivo de este trabajo es concientizar sobre la importancia de las contraseas
para la seguridad de la informacin, revisaremos el funcionamiento de los
servicios de gestin de contraseas en sistemas operativos LINUX y Windows.

Investigaremos sobre los algoritmos de cifrado usados en los gestores de


contraseas y realizaremos un ataque a travs de una aplicacin de crack.

2. Marco terico
Qu es una contrasea?
En informtica una contrasea es una clave que permite el acceso a algn recurso
y que brinda seguridad en las comunicaciones. La contrasea evita el acceso de
usuarios sin autorizacin y normalmente debe mantenerse en secreto ante
aquellos a quien no se les permite el acceso. En los sistemas informticos
actuales cada contrasea est ligada a un nico usuario por lo que la contrasea
puede ser cambiada o se puede negar el acceso a un usuario sin afectar a los
dems
Cmo funcionan las contraseas?
A la hora de crear una cuenta de usuario o de restringir un recurso, se nos pide
teclear la contrasea por primera vez. Generalmente debemos introducirla dos
veces para evitar errores de tecleo. Una vez que hemos establecido la contrasea,
sta es almacenada en un medio permanente como un archivo o una base de
datos en el disco duro.

Figura 1: Proceso de creacin de contrasea

Anteriormente las contraseas eran guardadas tal cual en algn archivo de texto
escondido en el sistema. Este mtodo era sumamente inseguro ya que si alguien
averiguaba o encontraba dicho archivo, las contraseas podan ser vistas
inmediatamente y el equipo as como la informacin sensible eran vulnerables.

Actualmente, antes de guardar una contrasea, el sistema le aplica una serie de


operaciones matemticas para convertirla en informacin imposible de interpretar
a simple vista, es decir codifica o cifra la contrasea.

Formas de almacenar contraseas


Algunos sistemas almacenan contraseas como archivos de texto. Si algn
atacante gana acceso al archivo que contienen las contraseas, entonces todas
estas se encontrarn comprometidas. Si algunos usuarios emplean l diferentes
cuentas, stas estarn comprometidas de igual manera. Los mejores sistemas
almacenan las contraseas en una forma de proteccin criptogrfica, as, el
acceso a la contrasea ser ms difcil para algn espa que haya ganado el
acceso interno al sistema, aunque la validacin todava sigue siendo posible.
Un esquema criptogrfico comn almacena solamente el texto de la contrasea
codificado, conocido como hash. Cuando un usuario teclea la contrasea en este
tipo de sistema, se genera a partir de la contrasea y mediante un algoritmo el
cdigo hash equivalente para esa contrasea, y si el resultante (hash) coincide
con el valor almacenado, se permite el acceso al usuario.
El texto codificado de la contrasea se crea al aplicar una funcin criptogrfica
usando la contrasea y normalmente, otro valor conocido como salt en ingls.
El salt previene que los atacantes construyan una lista de valores para
contraseas comunes. Las funciones criptogrficas ms comunes son
la MD5 y SHA1. Una versin modificada de DESfue utilizada en los primeros
sistemas Unix.
Si la funcin que almacena la contrasea est bien diseada, no es
computacionalmente factible revertirla para encontrar el texto directamente. Sin
embargo, si algn atacante gana acceso a los valores (y muchos sistemas no los
protegen adecuadamente), puede usar gran cantidad de herramientas disponibles
para comparar los resultados cifrados de cada palabra dentro de una coleccin,
como un diccionario. Estn ampliamente disponibles largas listas de contraseas
posibles en muchos lenguajes y las herramientas intentarn diferentes
variaciones, muestran con su existencia la relativa fortaleza de las diferentes
opciones de contrasea en contra de ataques.
Pasemos a explicar los siguientes conceptos, pues son bsicos para la
comprensin de lo que se explicar ms adelante.

Al hecho de cifrar o codificar la contrasea (o cualquier dato) se le llama


encriptar.
- El mtodo, los pasos o el proceso interno que se sigue para cifrar la
contrasea se le conoce como algoritmo.
- El resultado de codificar la contrasea (es decir la contrasea ya cifrada) se
llama hash (en plural hashes)
Generalmente los algoritmos que se usan para cifrar contraseas son
irreversibles, es decir que una vez encriptada la contrasea NO puede ser
desencriptada. De esta manera, si tenemos acceso al archivo donde se guardan
los hashes, no podemos deshacer el proceso para ver las contraseas.

Figura 2: Cifrado de contraseas

Pero si los hashes no se pueden deshacer, Cmo sabe entonces el sistema


que he introducido la clave correcta? Cuando una contrasea es encriptada, el
algoritmo usado generar un hash. En teora, el hash es nico para cada
contrasea por lo que la misma contrasea siempre resultar en el mismo hash.

Figura 3: Aplicacin Hash

No importa que las contraseas sean muy parecidas, el hash ser


sustancialmente diferente, como podemos observar con pepe - PEPE y jabn jamn. Una parte de la seguridad del sistema depende del algoritmo usado para
encriptar las contraseas, pues hay algoritmos ms seguros que otros. En este
ejemplo se us un algoritmo llamado MD5.
Una vez que nuestra contrasea ya est almacenada en el sistema y tratamos de
acceder al recurso protegido, se nos pedir confirmar nuestra identidad por medio
de la contrasea. Cuando la introducimos el sistema calcular el hash y se
comparar con el hash almacenado previamente. Si los hashes son iguales se
permite el acceso, en caso contrario se niega. Esto es ms o menos lo que hara
nuestra computadora si iniciamos sesin y colocamos la contrasea incorrecta:

Figura 4: Proceso de acceso denegado

Pero si introducimos la contrasea correcta:

Figura 5: Proceso de acceso autorizado

Cmo averiguar una contrasea?


Si bien las contraseas estn pensadas para proteger datos y recursos, al mismo
tiempo son la parte ms dbil de cualquier sistema de seguridad puesto que
deben ser recordadas por humanos y los humanos no somos perfectos. Hay
muchas maneras de averiguar la contrasea de un usuario.
La debilidad de las contraseas consiste en que los usuarios frecuentemente:
- Usamos la misma contrasea para varias cuentas
- Usamos las contraseas que vienen por defecto (como administrador o
1234)
- Usamos contraseas muy fciles de adivinar (nuestro nombre, fechas de
nacimiento y cumpleaos, etc)
- Anotamos las contraseas en lugares inseguros (en un papelito debajo del
teclado por ejemplo)
Las contraseas pueden ser averiguadas de muchas maneras, algunas bastante
conocidas son:
Ingeniera social: La forma ms antigua y quizs la ms efectiva. Consiste en
engaar o extorsionar al usuario para que l mismo proporcione la contrasea.
Por ejemplo hacindonos pasar por el administrador y dicindole estamos dando
mantenimiento a todas las cuentas y encontramos un problema de corrupcin de

datos en la suya, por favor sera tan amable de proporcionarnos su contrasea


para que lo arreglemos y pueda trabajar sin problemas. Funciona ms seguido de
lo que se pueden imaginar.
Ataque de fuerza bruta: Consiste en obtener un hash y probar una a una todas
las posibles contraseas. Imaginemos que tenemos un candado de esos de
bicicletas con una combinacin de tres dgitos. Probaremos todas las
combinaciones, una a una, hasta que encontremos la correcta. Pero las
contraseas informticas pueden tener letras, nmeros y smbolos, y pueden
contener un gran nmero de elementos que permiten infinidad de combinaciones,
por lo cual debemos establecer un lmite de longitud y los caracteres que
queremos probar (por ejemplo intentar slo con letras minsculas y nmeros).
Entre ms caracteres y ms longitud seleccionemos el proceso ser ms tardado
porque el nmero de combinaciones posibles crece exponencialmente, a veces
puede llegar a durar aos. Pero si la contrasea es corta y no contiene caracteres
extraos el proceso puede acortarse considerablemente. Es como si la clave del
candado de la bicicleta fuera 001 slo debemos hacer un intento antes de poder
abrirlo.

Figura 6: Ejemplo proceso fuerza bruta

Ataque de diccionario: Es muy parecido al proceso anterior, excepto que en vez


de probar todas las contraseas posibles, nos limitamos a unas cuantas
contraseas comunes almacenadas en una lista llamada diccionario.
Funciona con contraseas sencillas y obvias, pero debido al nmero limitado de
contraseas disponibles en un diccionario muchas veces falla. Algunos programas
permiten hacer alteraciones a cada palabra del diccionario como es invertir la
palabra, aadir maysculas, aadir un nmero al final, etc lo cual nos da ms
posibilidades de hallar la contrasea que buscamos.

Algoritmo de cifrado de contraseas en Windows

Un usuario habitualmente se identifica en Windows proporcionando la contrasea


en una cuenta asociada a la misma. Toda esta informacin, y alguna ms, se
almacena en el Security Account Manager (SAM).
Todos conocemos las cuentas de usuario de Windows XP, que nos permiten tener
nuestro escritorio y documentos separados del de los otros usuarios. El problema
de las contraseas de usuario en Windows XP y versiones anteriores es que por
cada contrasea almacena dos hashes; uno generado por el algoritmo LM y otro
por el NTLM.
Estos algoritmos de cifrado se dice que son unidireccionales ya que una vez
cifrada la contrasea no puede realizarse el proceso inverso, es decir, a partir de
un hash no puede obtenerse la contrasea original.
Los programas de cracking de contraseas, bsicamente funcionan cifrando textos
y comparando el hash obtenido con el de una cuenta determinada. Si ambos
coinciden se abra encontrado la contrasea original.
Es lgico pensar que si se comparan dos hashes en vez de uno, el sistema debe
ser por lo menos el doble de seguro, pero enseguida veremos que no es ni la
mitad de seguro, puesto que el algoritmo LM tiene muchas debilidades. Veamos
de manera general cul es su algoritmo:
1.
2.
3.
4.
5.
6.

El usuario introduce la contrasea


La contrasea se convierte a maysculas
La contrasea se corta a 14 caracteres
Se divide en dos partes de 7 caracteres
Se calcula el hash de cada parte de manera individual
Se unen los dos hashes

Figura 7: Algoritmo LM

Y bien? De qu nos sirve saber todo esto? Hagamos unos clculos. Hay 26
letras en el abecedario anglosajn, cada letra se puede escribir en mayscula o

minscula, adems de haber 10 dgitos (del 0 al 9), y digamos 32 smbolos (!@#$


%^&*()-_+=~`[]{}|\:;"'<>,.?/). Si quisiramos tener una contrasea de un solo
carcter tendramos 94 posibles contraseas (26 maysculas + 26 minsculas +
10 dgitos +32 smbolos). Para una contrasea de 14 caracteres tendramos que
elevar 94 a la 14, con la ayuda de una calculadora obtenemos un numerote de
ms de 4 mil cuatrillones de posibles contraseas! Una PC casera
moderadamente rpida puede codificar 4 millones de contraseas por segundo. Si
hiciramos un ataque de fuerza bruta, ayudndonos de nuestra calculadora (y si
no fallan mis clculos), podramos tardar hasta 33 billones de aos! es decir 33
millones de millones de aos, lo cual es una eternidad.

Figura 8: Calculo total de las combinaciones posibles y longitud 14

Pero qu pasa con el algoritmo LM? Que slo permite 26 letras posibles (porque
no hay minsculas) ms los nmeros y smbolos. Adems de que divide la
contrasea en dos partes de 7 caracteres, as que no importa que tu contrasea
sea de 14 caracteres porque es como si tuvieras dos contraseas de 7. Si
quisiramos tener una contrasea de un solo carcter tendramos tan solo 68
opciones posibles. Con una contrasea de 7 caracteres tenemos tan solo 6
billones de posibles contraseas, lo cual se queda corto contra los 4 mil
cuatrillones. Si calculamos el tiempo mximo que nos llevara encontrar la
contrasea por fuerza bruta seran ms o menos 20 das, lo cual comparado con
33 mil millones de aos, no es nada.

Figura 9: Calculo con algoritmo lm

Para comprobar el funcionamiento de estos algoritmos realizaremos un


experimento a travs del cual crearemos algunos usuarios e intentaremos obtener
las contraseas de usuario para tener acceso al sistema.

Algoritmo de cifrado de contraseas en Linux


Al poner una contrasea a un usuario, una funcin hash la cifra con el algoritmo
determinado segn sea el cifrado. Toma un bloque arbitrario de datos y devuelve una
cadena con una determinada longitud (valor hash). Los datos para ser codificados son
denominados el mensaje y el valor hash se le denomina message digest o
simplemente digest.

Pero no es todo pues si dos contraseas fueran iguales o supiramos el


algoritmo usado quizs podramos descifrarlo sabiendo unas cuantas contraseas
bsicas y comparando el digest hasta sacar unas equivalencias.
Para evitar esto y cerrar completamente el cerco de seguridad de la contrasea,
se le aaden los bit salt, que son datos al azar aadidos a la contrasea para
posteriormente cifrar con el hash.
En trminos de cifrado hay varios algoritmos (de cifrado seguro) hash usados, $6$
indica en qu tipo de hash est mi contrasea cifrada, en este caso se trata de
SHA-512, (Secure Hash Algorithm) y por lo tanto tiene 86 caracteres en total.
$1$=MD5
(22 caracteres)
$2$=blowfish
$5$=SHA-256 (43 Caracteres)
$6$=SHA-512 (86 Caracteres)
ALGORITMOS DE CLAVE SIMTRICA
RC4

Es un algoritmo de tamao de clave variable con operaciones a nivel de byte. Se


basa en el uso de una permutacin aleatoria y tiene un periodo estimado de ms
de 10100. El algoritmo se emplea para encriptacin de ficheros y para encriptar la
comunicacin en protocolos como el SSL (TLS).
RC4 es un algoritmo sorprendentemente simple. Este consiste en 2 algoritmos: 1Key Scheduling Algorithm (KSA) y 2- Pseudo-Random Generation Algorithm
(PRGA). Ambos de estos algoritmos usan 8-by-8 S-box, el cual es solo un array de
256 nmeros en el cual ambos son nicos en cuanto a rango y su valor va desde 0
hasta 255. Todos los nmeros de 0 a 255 existen dentro del array, pero estn solo
mezclados de diferentes maneras, el KSA se encarga de realizar la primera
mezcla en el S-Box, basado en el valor de la semilla dada dentro de l, y esta
semilla puede ser de 256 bits de largo.
RC5
El RC5 es un algoritmo parametrizable con tamao de bloque variable, tamao de
clave variable y nmero de rotaciones variable. Los valores ms comunes de los
parmetros son 64 o 128 bits para el tamao de bloque, de 0 a 255 rotaciones y
claves de 0 a 2048 bits. Fue diseado en 1994 por Ron Rivest.

El RC5 tiene 3 rutinas: expansin de la clave, encriptacin y desencriptacin. En la


primera rutina la clave proporcionada por el usuario se expande para llenar una
tabla de claves cuyo tamao depende del nmero de rotaciones. La tabla se
emplea en la encriptacin y desencriptacin. Para la encriptacin slo se emplean
tres operaciones: suma de enteros, o-exclusiva de bits y rotacin de variables.
SKIPJACK
El Skipjack es un algoritmo de cifrado diseado por la Agencia de Seguridad
Nacional para proteger datos a nivel gubernamental en los Estados Unidos.
Algoritmo descifrado en un bloque de 64 bits que emplea claves de 80 bits,
desarrollado por la National Security Agency (NSA) Estadounidense para su
implementacin en los chips Clipper y Capstone que emplean mecanismos de
depsitos de claves.

DES (Data Encryption Standard).


El algoritmo DES usa una clave simtrica de 64bits, los 56 primeros bits son
empleados para el cifrado, y los 8 bits restantes se usan para comprobacin de
errores durante el proceso. La clave efectiva es de 56 bits, por lo que la fuerza
bruta se hace casi imposible.
3DES (Triple Data Encryption Standard)
Se basa en aplicar el algoritmo DES tres veces, la clave tiene una longitud de 128
bits. Si se cifra el mismo bloque de datos dos veces con dos llaves diferentes (de
64 bits), aumenta el tamao de la clave.
El 3DES parte de una llave de 128 bits, que es divida en dos llaves, A y B.

ALGORITMOS DE CLAVE ASIMTRICA


Algoritmos de autenticacin (o hash)
Los ms conocidos y usados son MD5 y el SHA-1. Son algoritmos que a partir de
un bloque de entrada, generan otro bloque de salida de una longitud fija
determinada.

MD4
MD4 es un algoritmo de resumen del mensaje (el cuarto en la serie) diseado por
el profesor Ronald Rivest del MIT. Implementa una funcin criptogrfica de hash
para el uso en comprobaciones de integridad de mensajes. La longitud del
resumen es de 128 bits.
Ciertas debilidades en MD4 fueron demostradas por Den Boer y Bosselaers en un
documento publicado en 1991. Muchos de los diseos posteriores de resumen del
mensaje basados en l siguen siendo seguros, en el sentido que no se ha
publicado ningn ataque eficaz contra ellos.

3. Desarrollo
3.1 Desarrollo crack contraseas Windows
El objetivo es obtener la base de datos SAM de Windows XP desde Kali Linux y
crackear las contraseas de manera de poder tener acceso a Windows.

Caractersticas del Equipo: Toshiba Satellite c845 Core I3, 4GB RAM,
HDD 500GB.
Sistema operativo instalado: Windows XP SP3
Herramienta Livecd: Distribucin Kali Linux 64bits
Herramientas para crackear la base de datos SAM: Bkhive, samdump2 y
John the ripper
Diccionario rockyou.txt de tamao 130 MB, diccionario que trae por default
kali linux

Preparacin de las herramientas

Contamos con nuestro sistema operativo Windows en el cual crearemos las ocho
cuentas de usuario con su respectiva contrasea que ha sido establecida al inicio
del documento.

Descargamos el LiveCd de nuestra distribucin Kali Linux y la montamos en una


usb booteable para comenzar el procedimiento.
Proceso de crack de contraseas
Una vez cargada e iniciada la livecd de Kali Linux abrimos la consola de
comandos de Kali y tecleamos la siguiente secuencia de comandos a efectos de
ver y montar el disco de Windows.
1.- fdisk l // Permite ver la tabla de particiones

Figura 1: Tabla de particiones del disco duro

Una vez que apreciamos la lista de particiones que se encuentran en el disco


duro, debemos identificar la que nos ser de utilidad y el sistema que deseamos
tener acceso. Lo siguiente ser acceder a la base de datos SAM del sistema
operativo Windows al que queremos tener acceso. Para lo cual escribiremos la
siguiente lista de comandos.
2.- mount t ntfs /dev/sdb5 /mnt // mount montara un filesystem y como es un
filesystem de Windows se utiliza la opcin -t ntfs
3.- df k // Reporta el espacio en disco usado
Para ver el contenido del Windows XP usaremos las siguientes instrucciones
4.- cd /mnt // Como montamos en mnt la unidad, ingresamos con cd all.
5.- ls // Lista el contenido del directorio
6.- cd WINDOWS/system32/config // Aqu es donde reside la base de datos
SAM, donde estn guardadas todas las contraseas.

Figura 2: Acceso a directorio donde se encuentra ubicado SAM

Para saltar el cifrado Syskey, primero debemos extraer el syskey del registro y
luego usar esa misma clave para descifrar el archivo SAM. Para realizar este
primer paso vamos utilizar una herramienta llamada Bkhive. Y continuacin
extraeremos el hash del archivo SAM, para esto utilizaremos Samdump2
Usaremos el bkhive y el samdump2

7.- ls // Lista el directorio de WINDOWS/system32/config


8.- bkhive system /root/hive.txt // dumpea el syskey bootkey del Windows XP
9.- samdump2 SAM /root/hive.txt > /root/hash.txt // extrae los hashes del
hive.txt previamente dumpeado y los copia en hash.txt

Figura 3: Extraccin de los hashes previamente dumpeados

Procedemos a ver el contenido de los hash recuperados


10.- cd /root // Cambiamos el directorio a root porque ah pusimos los archivos
hive y hash
11.- ls l *.txt //Listamos los archivos que terminen en txt de ese directorio
12.- file *.txt // Determinamos el tipo de archivo de cada uno de los .txt
encontrados vemos que hash es ASCII y hive es (DoS Executable ROM)
13.- cat hash.txt // Vemos los contenidos del archivo hash.txt donde podemos
evidenciar nuestros usuarios con su hash correspondiente a la derecha.

Figura 4: Evidencia de usuarios y su hash correspondiente

Usando John The Ripper


Ahora tenemos que utilizar la herramienta que nos falta john the ripper para
conseguir la clave, por defecto utiliza el mtodo por fuerza bruta.
14.- john /root/hash.txt format=nt2 -users=uno // John es una herramienta
de password cracking por lo que una vez corrido guarda el resultado en el
directorio .john en el directorio del usuario, por ejemplo (/root/.john) repetimos el
proceso por cada usuario.

Figura 5: Obtencin de las primeras cuatro contraseas del sistema operativo


windows

Figura 6: Obtencin de contrasea cinco e inicio de seis

Figura 7: Duracin e intentos al obtener contraseas robustas

Figura 8: Intento y duracin para obtener la


contrasea del usuario siete

Para la ltima contrasea haremos uso del diccionario editamos el diccionario que
se encuentra en la ruta /home/usr/share/wordlist y editaremos el diccionario que
utiliza por defecto rockyou. Agregamos la contrasea que hemos adquirido por
ingeniera social airAd y comenzamos a ejecutar John en la terminal.

Figura 9: Anexo a nuestro diccionario de la contrasea airAd obtenida por


ingeniera social

Figura 10: obtencin de contrasea ocho por diccionario

Con el resultado de este experimento queda demostrada la facilidad con que se


pueden adquirir las contraseas que muchas veces los usuarios por comodidad
incluyen en sus cuentas, sin tomar l cuenta el gran riesgo que esto conlleva. Para
los casos de contraseas robustas el resultado de aplicar fuerza bruta se puede
apreciar que toma un largo e indeterminado tiempo dependiendo de la complejidad
con la que haya sido creada la contrasea.
Resultados
Usuar
io

Contras
ea

Nivel
de
fortal
eza

Tiempo
en
ejecuci
n

Tcnica

xito Observaciones
en el
ataq
ue

uno

abcdefg

Bajo

0:00:00:00 Fuerza
bruta

SI

dos

1234567
8

Bajo

0:00:00:00 Fuerza
Bruta

Si

Longitud
de
7
caracteres,
de nivel
dbil
al
ser
una
secuencia
muy
utilizada que permite
encontrar
instantneamente.
Es
una
contrasea
sencilla que por ser

tres

123abc

Bajo

0:00:00:00 Fuerza
Bruta

Si

cuatro

Leonardo

Bajo

0:00:00:00 Fuerza
Bruta

Si

cinco

kavkaz

Medio

0:00:03:24 Fuerza
Bruta

Si

seis

a.7FeN3z

Alto

28 horas

Fuerza
Bruta

No

siete

3.14.16.

Alto

18 horas

Fuerza
Bruta

No

ocho

airAd

Bajo

0:00:03:
02

Diccion
ario

Si

una
secuencia
numrica continua es
de las primeras opcin
a
probar
en
un
diccionario.
Combina nmeros y
letras pero en una
forma
fcil
para
descifrar
por
un
probador
de
contraseas
Contrasea dbil al ser
un nombre propio que
facilita el ataque.
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.
Combinacin
de
caracteres, letras y
nmeros que no siguen
una
secuencia
ni
combinacin
coherente. Despus de
un periodo extenso no
hubo xito en obtener
la clave.
Longitud
de
8
caracteres, su fortaleza
se encuentra en la
combinacin
de
caracteres. Despus de
un periodo extenso no
hubo xito no hubo
xito en obtener la
clave.
Contrasea con 5
caracteres
su
longitud es pequea
y
puede
ser
encontrada
por
combinacin
de
caracteres

3.2 Desarrollo crack contraseas de Linux


Herramientas utilizadas y otras cuestiones
Computadora utilizada
CPU AMD Athlon(tm) X2 240 Processor 2
2 GB Memoria RAM
Sistema operativo utilizado
Linux mint 17 Qiana (Donde se crearon las contraseas)
Kali Linux 32bits (Donde se utiliz el programa John the Ripper)
Herramienta utilizada
John the Ripper password cracker, ver: 1.7.9-jumbo-7_omp [linuxx86-sse2] Copyright (c) 1996-2012 by Solar Designer and others
Homepage: http://www.openwall.com/john/
Diccionario rockyou.txt de tamao 130 MB, diccionario que trae por
default kali linux
Diccionario passwords.lst de tamao 26.5 KB, diccionario propio de
John the Ripper
Diccionario lower descargado de los repositorios de John the Ripper,
que es una lista de claves para el idioma espaol
Nmero de corridas 5 iteraciones
3 iteraciones con fuerza bruta
2 iteraciones con diccionario
Experimento

Kali linux es un Sistema operativo con diferentes herramientas para la auditora de


todo tipo de sistemas, incluyendo sistemas como Windows o Linux. Para este
experimento se utilizaron dos sistemas operativos de linux, denominados
distribuciones o distros, el primero de ellos es Linux Mint, se trata de una
distribucin de linux que est de moda en das recientes, y la distribucin Kali que

es la sucesora de la antigua distribucin Backtrack dedicada a la auditora. En


Linux Mint se crearon los siguientes usuarios.
Estos usuarios fueron aadidos con el comando useradd [Nombre de usuario], y
para asignarle una contrasea, passwd [Usuario al que se le va a asignar la
contrasea].

Figura 1 Usuarios introducidos al repositorio de claves

Figura 2 Usuarios introducidos al repositorio de claves

Al crear estos usuarios, se procedi a reiniciar el sistema Linux Mint y entrar con el
sistema Kali Linux. Para realizar este ataque se utiliz la herramienta John the
Ripper, que viene integrada en la distro Kali.
Primero lo que hacemos es abrir la herramienta, la cual la encontramos en
Applications->Kali Linux->Password Atacks->Offline Atacks->John, damos clic
donde dice john y se nos abrir una ventana donde nos aparecer esto.

Figura 3 Probando si funciona Jonh the Ripper

Cuando nos sale eso, quiere decir que nuestra versin de John the Ripper se
encuentra instalada, procedemos a lo siguiente. Linux guarda sus usuarios y
contraseas en dos nicos archivos, que se encuentran ubicados en /etc, estos
archivos son llamado shadow y passwd, en el primero estn los usuarios y en el
segundo archivo estan las contraseas, lo primero que vamos a hacer es extraer
estos dos archivos y guardarlos en el directorio donde los vamos a ocupar, para
este caso en /home, en la siguiente imagen podemos ver estos archivos.

Figura 4 Buscando los archivos passwd y shadow

Estos dos archivos los copiamos al directorio donde trabajaremos en /home.

Figura 5 Copiado a la carpeta donde trabajaremos con John the Ripper

Al tener estos dos archivos en el directorio donde los ocuparemos procedemos a


ocupar el comando unshadow, el cual se encarga de unir estos archivos en uno
solo, con el cual podremos trabajar libremente, esto se hace de la siguiente
manera.

Figura 6 Uniendo los dos archivos con el comando unshadow

El comando es el siguiente unshadow [archivo passwd] [archivo shadow] >


[Archivo completo donde se guardar la unin de estos dos archivos].
Despus de hacer esto vamos a utilizar este archivo, para crackear las
contraseas para esto utilizamos el comando john [archivo completo], como se ve
en la imagen siguiente, y esperamos a que encuentre las contraseas de los
archivos.

Figura 7 ejecutando John the ripper con el archivo que generamos del
comando unshadow

Figura 8 En los primeros minutos de la 1 iteracin gnero 4 claves

Figura 9 Despus de 12 horas de ejecucin de John the ripper en la tercera


iteracin procedemos a abortar el proceso

Figura 10 Utilizando Diccionario rockyou.txt, despus de haber utilizado


lower unido con passwords sin haber encontrado ninguna contrasea

Figura 11 Se posiciono la contrasea del archivo ocho en el diccionario y en 2


horas la calculo

Figura 12 Al haber pasado la 5 iteracin y 6 horas de ejecucin encuentra la


contrasea del usuario cinco

Figura 13 Intentos para encontrar las contraseas de los usuarios seis y

siete, no obteniendo xito

El uso de jonh the ripper no siempre encuentra las contraseas, como podemos
ver dos contraseas son las que no fue capaz de encontrarlas, ni por fuerza bruta
ni por diccionario, de esta manera terminamos la prctica y con los siguientes
tiempos, tomando en cuenta que fueron 5 corridas del programa, en donde 3 son
con fuerza bruta, en dos de ellas termino en menor tiempo con un error fatal y en
la ltima ms tardada de 18 horas, no encontr las contraseas de alto nivel.
Resultados
Usuar
io

Contras
ea

Nivel
de
fortal
eza

Tiempo
en
ejecuci
n

Tcnica

uno

abcdefg

Bajo

0:00:01:08 Fuerza
bruta

SI

dos

1234567
8

Bajo

0:00:01:00 Fuerza
Bruta

Si

tres

123abc

Bajo

0:00:01:00 Fuerza
Bruta

Si

cuatro

Leonardo

Bajo

0:00:02:50 Fuerza
Bruta

Si

cinco

kavkaz

Medio

6 horas 10 Dicciona
rio
minutos

Si

seis

a.7FeN3z

Alto

18 horas
10
minutos

Fuerza
Bruta

xito Observaciones
en el
ataq
ue

No

Contrasea muy dbil, fue


encontrada por fuerza
bruta y diccionario al
instante.
Contrasea muy dbil, fue
encontrada por fuerza
bruta y diccionario en
cuestin de minutos
Contrasea dbil, fue
encontrada en un minuto
en el modo de fuerza
bruta, en diccionario tard
ms tiempo.
Contrasea dbil, Al ser
un nombre es buscada al
principio por fuerza bruta,
y encontrada en tan solo
unos minutos.
Contrasea media, por
fuerza bruta no fue capaz
de encontrarse, mientras
que fue encontrada en el
diccionario, tardando un
poco.
Contrasea muy fuerte
pues por fuerza bruta no
fue capaz de encontrarse,
por diccionario solamente
sera encontrada si se
tomara en cuenta puntos,

siete

3.14.16.

Alto

18 horas
10
minutos

Fuerza
Bruta

ocho

airAd

Bajo

2 horas 10 Diccion
ario
minutos

No

Si

nmeros, maysculas,
minsculas entrelazadas,
pero el diccionario no la
trae integrada.
Contrasea fuerte, a pesar
de contener solo nmeros
y puntos, por fuerza bruta
no fue capaz de
encontrarse, y el
diccionario no trae
integrada esta contrasea.
Contrasea media, al
tratarse solo de letras
entre minsculas y
maysculas, un ataque
por este medio es sencillo
para usarlo con un
diccionario, mientras que
para el uso en fuerza
bruta no se encontr la
solucin.

4. Conclusin
El desarrollo de esta prctica nos permiti abordar el tema de la importancia que
tienen actualmente la informacin y como la apropiada eleccin en el proceso de
crear contraseas puede ofrecer una mayor seguridad ante ataques a las cuentas
de los usuarios permitiendo as el difcil acceso a informacin personal.
Revisamos el proceso que llevan a cabo los servicios de gestin de contraseas
en sistemas operativos LINUX y Windows. El proceso de cifrado y los algoritmos
que son utilizados por cada uno de los sistemas.
Realizamos un ataque a los sistemas operativos aplicando diccionarios e incluso
realizando ataques por fuerza bruta donde podemos comprobar el tiempo que
toma poder obtener una contrasea con seguridad fuerte.
Dependiendo del nivel de fortaleza que se emplee para generar la contrasea
tendr un efecto en el tiempo que toma obtenerla por ataque de fuerza bruta,
donde las combinaciones ms usuales suelen encontrarse rpidamente, caso
contrario a cuando se utiliza combinacin de caracteres que eleva el nivel de
fortaleza pudiendo demorar, inclusive das en lograr obtener un resultado exitoso.
La finalidad es concientizar en la vulnerabilidad que presentan las contraseas a
las cuales muchas veces por cuestiones de comodidad se toman patrones muy
comunes y fciles de obtener

5. Bibliografa
http://www.seguridad.unam.mx/usuario-casero/eduteca/main.dsc?id=185
http://www.academiaslinux.com/2013/10/la-base-de-datos-de-usuarios-degnulinux.html
http://www.nexolinux.com/ficheros-de-usuarios-etcpasswd-y-etcshadow/
http://www.dragonjar.org/como-funcionan-y-se-crackean-las-claves-ensistemas-windows.xhtml
http://ns2.elhacker.net/Contrasenas-Windows-XP.pdf
https://www.academia.edu/9007927/Hands_on_Lab_de_Password_Cracking
http://www.binarytides.com/cracking-linux-password-with-john-the-ripper-tutorial/
http://www.openwall.com/john/doc/EXAMPLES.shtml

You might also like