Banner 1

Cain crack-passwords

by LatinCrack ( www.codebit.org)

NOTA: para ver las imagenes , le dan click xD

CAIN (Password)

OjO.- Documento EpN (Extrictamente para Newbie)

Contraseña

Una contraseña (o password) es un "conjunto de caracteres" que permiten el control de acceso hacia algun recurso informatico (sistemas, recursos de hardware, archivos, cuentas, base de datos, foros, emails, etc, etc, etc).

Conjunto de Caracteres

* Un bit puede tomar el valor 0 o 1
0 = apagado/off/sin dato/sin señal, etc.
1 = encendido/on/con dato/con señal, etc.
Esto quiere decir que puede tomar 2 valores:
bit=0
bit=1

* Un Byte es un conjunto de 8 bits, esto quiere decir que los valores que tomaria sería:

Para representar un caracter necesitamos 1 Byte, esto quiere decir que con un byte podemos representar un caracter (que puede tener tener 255 valores).
Es por ello la existencia y la importancia de la tabla Ascii:

**Como vemos, los primeros 32 codigos (del 0 al 31) son codigos de control (provienen de los inicios del MS-DOS 1).

Nota Tecnica.-Para ingresar un caracter ascii por su codigo, lo hacemos teniendo presionado la tecla ALT y marcando (con el teclado numerico) el numero correspondiente.
Ejemplo:
Para obtener el simbolo @ presionamos Alt+64...

**Los codigos del 32 al 126 corresponden a los caracteres comunes (A-Z,a-z,0-9). Ejemplo:
Alt+97=a

**Los codigos del 127 al 255 pertenecen a los caracteres extendidos (con acentos, caracteres especiales). Ejemplo:
Alt+190=¥


Jugando un poco con los caracteres raros de ascii:

Retomando el tema, ya sabemos que es una contraseña, generalmente la gente no le presta mucha atencion a este tema y suelen poner contraseñas muy simples:

micontraseña = black (nombre de mi perro)
micontraseña = enero (mes de nacimiento)
micontraseña = sexo (deporte favorito)

jejejejeje, hablando de eso, no dejarse llevar por el dicho sexual de: "mientras mas grande es mejor"
Aca necesariamente no se cumple, por ejemplo pongamos 2 casos:

contraseña1 = 123456789
contraseña2 = _@L7'|

Es obvio que la contraseña1 (asi sea larga) no tiene mayor complicacion para ser recordada o copiada o crackeada (con mayor rapidez) con respecto a la contraseña2.

Al final de todo, una contraseña no es mas que un simple texto. Para añadirle seguridad a nuestra contraseña, algunos sistemas le añaden una funcion hash.

Funciones Hash

Una funcion hash es un algoritmo criptografico que transforma un texto de longitud variable (texto de entrada) a una de longitud fija (dependiendo del tipo de hash).
Una funcion hash es utilizada en varios contextos (contraseña, mensajes, archivos, etc).
Alguna de las caracteristicas de una Funcion Hash:

1.-La entrada puede ser de cualquier tamaño (longitud del texto)
2.-El valor hash tiene una longitud fija.
3.-Irreversible (unidireccional) es decir no se puede obtener el texto de entrada por medio del hash.
4.-Libre de colisiones, es decir 2 entradas distintas no pueden producir un mismo valor hash.

OjO.- En resumen una funcion hash convierte un texto de entrada (puede ser un password, un texto, un archivo, etc) a un texto "codificado" de una longitud fija.

Nota Tecnica:

En la web podemos ver una implementacion hash muy comun, ejemplo, el lenguaje de programacion web PHP, no almacena nuestras contraseñas en texto plano directamente, primero le aplica el hash MD5 a nuestra contraseña y luego ese hash es lo que almacena.

Ejemplo:
$pass=md5("Codebit");
en esta sentencia le aplicamos el hash MD5 a Codebit y lo almacenamos en la variable pass. Ahora el valor del resultado es:
$pass=c638dc8e5c60102e39f10de31560d669
Ahora vemos como cambia drasticamente este hash si en ves de Codebit le ponemos Codebi (sin la t):
$pass=md5("Codebi");
$pass=79d76ed22baa0778356f2c30510ee3c9
Como veran, solo le hemos quitado la palabra t al pass y el hash varia drasticamente:
                 Codebit                    <>                   Codebi
c638dc8e5c60102e39f10de31560d669 79d76ed22baa0778356f2c30510ee3c9

Uhmmmm...la pregunta es: ¿Como puedo yo reconocer que tipo de hash se esta aplicando?
Una manera de ayudarse es viendo el resultado final de la aplicacion del hash (texto de salida). Sabiendo la cantidad de caracteres podemos ir discriminando y quedandonos con un grupo reducido hasta dar con el nuestro. Enseguida listare los hash mas conocidos y a su lado pondre la cantidad de caracteres que tiene como texto de salida para poder identificarlos rapidamente.

Tipos de Hash

Hay variedades de tipo de hash, algunos ya en desuso y otros no tan seguros y reemplazados por una version superior (se les encontro fallos). Aca daremos una pincelada de los mas conocidos y su principal caracteristica (para mas detalle de cada tipo de hash, googlear).

MD2 = 32 caracteres
MD4 = 32 caracteres
MD5 = 32 caracteres
SHA-1 = 40 caracteres
SHA-2 (256) = 64 caracteres
SHA-2 (384) = 96 caracteres
SHA-2 (512) = 128 caracteres
RIPEMD-160 = 40 caracteres
LM = 16 caracteres
NT = 32 caracteres

Etc, Ojo, todos los tipos de hash enumerados anteriormente producen los caracteres de salida en Hexadecimal, tambien cabe resaltar que hay muchos mas tipos de hashes, aca solo es un resumen para ir familiarizandonos y hacernos una idea.

Resumiendo.- Al fin ya conocemos lo que es un Hash y sus diferentes tipos. Tambien podemos reconocerlos (o al menos intuir de que tipo es) por su longitud de caracteres.
Ahora estamos preparado para poder atacar un hash para obtener el texto original.

Dialogo:
Newbie:"Podemos obtener el texto original a partir de un hash?"
LatinCrack:Si (algunos demoran segundos, otros demoran años, y otros demoran siglos que en la practica es imposible hayar el resultado). Todo depende de la longitud del texto.
Newbie:En las principales caracteristicas de un hash, en el punto 3, dice que un hash es irreversible, que no se puede obtener el texto de entrada por medio del hash
LatinCrack:Si, a ver, aca la explicación, un hash es irreversible porque por medio del hash no obtendremos el texto original, nosotro obtendremos el texto original (en la medida que esto sea factible) por medio de la Fuerza Bruta, entendido?
Newbie:Si entendi, pero como se hace eso, exijo una explicacion...
LatinCrack:Ufff... ok, de eso trata el siguiente tema.

Fuerza Bruta

Llamese Fuerza Bruta (FB) al ataque que se realiza por medio de combinaciones de caracteres y comparacion constante para ver si ésta coincide con el original.

Un ejemplo Practico:
Queremos obtener el texto original de este hash:
c638dc8e5c60102e39f10de31560d669
Pista.- Consta de 7 caracteres.
Vemos que tiene 32 caracteres...uhmm puede ser MD2, o MD4 o MD5 o NT quizas...uhmmm, pero como sabemos que es del texto Codebit hasheado en MD5 (ver el ejemplo de arriba), pues no le damos mas vueltas.

Como se hace la FB.- Comparo caracter por caracter y luego las combinaciones posibles de los mismos. Ejemplo:


Ya teniendo mas claro el panorama, no vayan a pensar que estas comparaciones la haran manualmente, para eso existen programas que se encargan de realizar estas comprobaciones automaticamentes. Una de las tantas caracteristicas del CAIN es el ataque de los hash por FB. Entonces pasemos por fin al CAIN.

CAIN

Primero descargamos el Cain desde AQUI . Pesa aprox 6.6 MB.
La instalacion del Cain es muy sencilla, un wizard (asistente) nos guiara y solo tenemos que darle a siguiente.


Conociendo a nuestro amigo Cain

Doble click al icono de acceso directo del Cain, esperemos que carge, luego le damos click a la pestaña Cracker:

Vamos a empezar con este:
adb51e3d9dacd2e315f766371046f90c
Uhmmm... pueden ser varios por la cantidad de chars que es de 32, bueno, probemos con el 1ro que es MD2.
Seleccionamos de la lista el MD2, luego en la parte derecha aparece una lista vacia, le damos click derecho a cualquier parte de la lista vacia y seleccionamos la opcion Add to List y nos aparecera un cuadro para añadir nuestro hash, lo añadimos y damos ok (ese cuadro para añadir el hash tambien lo podemos obtener dandole click al simbolo de la calculadora, debajo del Menu Tools).



Una ves añadido nuestro hash a la lista, le damos click derecho a nuestro hash y seleccionamos la opcion: Brute-Force Attack


Ahora nos sale un cuadro donde seleccionaremos el tipo de charset(conjunto de caracteres,tenemos tantos predefinidos en una lista, como para personalizarlo nosotros mismo o Custom).
Tambien vemos una opcion importante que dice: Password Length, donde por defecto sale Min:1 y Max:16
Esto lo modificaremos cuando sea necesario, si sabemos que nuestro password es menor que 9, pues el rango que pondriamos seria del 1 al 8.
Ahora seleccionamos el Charset y definimos el rango del Password, luego presionamos el boton Start y empezara el proceso de comprobacion hasta encontrar el que equivale a nuestro hash.



Nota Técnica (sobre la Fuerza Bruta):
La fuerza Bruta, para que sea realmente efectiva, tiene que aplicarse con intuicion y cerebro. Esto es, que no es cuestion de poner a combinar todos los simbolos posibles, porque podemos dejar nuestra PC durante miles de años encendido (si es que tu Microprocesador no se chamusca a los 5 años de full encendido sin mantenimiento) realizando una fuerza bruta y nunca encontraremos la clave.
El hecho de que apliquemos la Fuerza Bruta, no implica que nosotros actuemos como tal, detras de la fuerza bruta hay que aplicarle inteligencia, intuición, olfato.
Hay que averiguar las politicas que usa (determinada institucion, empresa o persona) para establecer las contraseñas.
Hay politicas para establecer contraseñas en una organizacion, algunas utilizan solo numeros, otros solo minusculas, otros 4 digitos como maximo (como las contraseñas de las tarjetas de credito),etc,etc,etc.
Ahora si no tenemos pistas (como en algunos wargames) pues intentemos con numeros (que es mas rapido), luego con solo minusculas, luego con solo mayusculas, luego empiezan las combinaciones, minusculas con numeros, minusculas con mayusculas y por ultimo las combinaciones con los caracteres especiales (incluyendo mayusculas y minusculas y numeros).
Por ultimo, en caso de los wargames, podemos postear en los foros, alli suelen dar mistas sobre el charset o sobre el length del password...;-)...

Retomando, ya hemos añadido nuestro hash (adb51e3d9dacd2e315f766371046f90c) y en el charset, escogemos los numeros como predefinidos (para empezar).

TIPS:
Al length le ponemos como minimo 7 y como maximo 7. Y porque?, porque en la pista me dice que es 5 caracteres, entonces no tiene sentido estar probando las combinaciones de 2,3 y 4 caracteres, porque en ese rango no esta la contraseña, con esto me ahorro un chorro de tiempo, una vez puesto ambos en 5 damos start....

Esperamos unos 5 minutos y nada....:S.... Probamos con el charset del alfabeto en minusculas (predefinido) y start......
Y en aproximadamente 2 minutos (en una pentium 2) se detiene y me dice:
Plaintext of adb51e3d9dacd2e315f766371046f90c is latin
Attack stopped!
1 of 1 hashes cracked
Esto quiere decir que el texto original es "latin"....
Ejercicio resuelto.....;-)...
Bueno, con esto creo que queda sentadas las bases para que Uds mismos empiezen a caminar por estos lares sabiendo lo que pisan. Lo demas esta en la investigacion, y en consultar. Si tienen alguna duda, solo tienen que hacernoslo saber y estaremos prestos a responder, porque aqui estará siempre Codebit para Aprender Informatica desde Zero....


fuente:http://hackcero.blogspot.com/2009/01/cain-y-password-by-latin-crack.html

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay