miércoles, 10 de octubre de 2012

Cain y sus ficheros de texto


Esta entrada es una de esas que, sin estar escrita, lleva muchiiiisimo tiempo en la bandeja de borradores. Y me da la sensación de que va siendo hora de escribirla. ¿No? Incluso, me da la sensación de que no va a ser muy larga. ¡A ver qué sale!

También recordar lo típico: cualquier cosa aquí expuesta, el que la haga, que apechugue con las consecuencias, que yo no me hago responsable. Puede ser legar, puede no serlo... Lo dicho: yo no me responsabilizo de nada. He dicho.

Ahora. Empecemos.

Lo primero de todo. ¿Sabemos qué es el Cain (& Abel)? Supongo que sí, ¿no? Entre otras cosas, permite hacer ataques MITM, obtener hashes de contraseñas, obtener sus correspondencias con el texto claro... Y seguro que tiene muchas más de las que desconozco.

Ahora bien. Para algunas cosas cuesta bastante utilizarlo. Otra forma de verlo es que tiene algunas opciones que no son tan conocidas, y le dan más versatilidad.

Por ejemplo:

Queremos intentar realizar un ataque MITM. Para ello, se necesita hacer un escaneo de toda la red, y, una vez tengamos el listado los equipos "victima", realizar el ataque.

Cain escaneando la red


Al final, después de acabar la operación, obtendremos el listado de las direcciones IP encontradas junto con sus direcciones MAC. Además, también nos mostrará el fabricante (teniendo en cuenta que se obtiene a partir de la MAC). La historia está en que ese scan puede cantar mucho en una red. ¿Qué podemos hacer? Existe una fórmula. Nos cogeremos una consola, por ejemplo, un cmd. Con éste, iremos haciendo ping a cada una de las direcciones IP que se correspondan con nuestro netid. Y tomaremos nota de la dirección IP que corresponda con la dirección física que nos de el comando arp.

¿Has entendido todo hasta aquí? ¿Tienes todo listo?

Muy bien. Ahora, con el Cain cerrado, vamos a su carpeta de instalación

C:\Program Files (x86)\Cain

y abrimos, con permisos administrativos, el fichero HOSTS.LST.

Por lo tanto, con una modificación como esta:

Fichero HOSTS.LST con un resultado más

Obtendríamos un resultado como este, que, a todos lo efectos es un elemento más en la lista que ya teníamos:

Nuevo equipo, con su hostname

En este caso, aparece el hostname, que es el tercer campo con el que trabaja este fichero, separando cada uno de los campos por "punto y coma" (;).

Tenemos más cosas que se pueden manipular con los ficheros de texto. De hecho, lo anterior es un relleno que no tenía pensado contar. En realidad, este post viene por lo siguiente. Por ejemplo, se han publicado un montón de hahses de MD5. Por lo tanto, vamos a insertarlos desde la aplicación. Seleccinamos cracker, escogemos MD5 (es el ejemplo, se escogerá el que tenga que ser), botón derecho sobre el listado de la derecha, add to list,...

Introducir hash MD5

Te permite introducir sólo un hash, en un instante determinado. ¡Pero quiero poner 200.000! ¿Qué hago? Repetiré la misma opción anterior, pero, en esta ocasión, el fichero a manipular será el MD5.LST.

Hashes MD5 en el MD5.LST

Ahora, después de haber puesto unos pocos hashes, conseguimos:

Cain y los hashes puestos en el MD5.LST

Como habréis observado, he dicho que tenían que ser "unos pocoshashes. ¿Por qué? Porque estos ficheros se cargan en memoria cuando arrancas el programa. Si intentas cargar un fichero que ocupe 200MB, o más (por poner un ejemplo. podrían ser 100MB o 1GB, lo mismo da), podrías no conseguir lanzarlo y te quedarías... a verlas venir. 

Hay más opciones que me gustaría explorar: saber en qué fichero se utiliza el caracter de tab para separar las columnas, en cuál el "punto y coma" (;)... qué carácter se utiliza para que separe las contraseñas de los hahses...

Pufff!! Lo que ha dado de si el hecho de que en una ocasión quisiera abrir un archivo gigantesco para romper un montón de MD5. 

¿Conocéis más truquitos en Cain que no sean tan conocidos (por los que llevamos poco tiempo en esto)?

No hay comentarios:

Publicar un comentario