Foro de elhacker.net

Seguridad Informática => Criptografía => Mensaje iniciado por: greenselves en 23 Mayo 2011, 15:48



Título: como usar rainbowcrack
Publicado por: greenselves en 23 Mayo 2011, 15:48
hola, tengo un proyecto sobre el crackeo de contraseñas de usuario en linux con rainbowcrack, pero tengo dudas con los parametros que se usan, y salida que me tiene que arrojar despues de pasarlo por el rcrack.

Por ejemplo, estoy haciendo pruebas con la contraseña: 312

para el rtgen uso:
./rtgen sha1 numeric 1 7 0 2400 80000 all
./rtgen sha1 numeric 1 7 1 2400 80000 all
./rtgen sha1 numeric 1 7 2 2400 80000 all
./rtgen sha1 numeric 1 7 3 2400 80000 all
./rtgen sha1 numeric 1 7 4 2400 80000 all

Pero ni idea de lo que signifique los valores 0 2400 80000, se que tiene que ver con la memoria, el tiempo y la longitud de las tablas de rainbow, pero aun no entiendo bien el concepto.

Y por ultimo, al pasarlos por el rcrack (despues del rtsort), uso este comando:
./rcrack rt.* -f hash.txt

Pero el archivo hash.txt yo lo cree =S, no se que es lo que tengo que mandarle como parametro.

He leido algunos post anteriores, pero la verdad no entiendo, espero me puedan echar la mano con esto.


Título: Re: como usar rainbowcrack
Publicado por: APOKLIPTICO en 23 Mayo 2011, 19:37
Mirá, una rainbow table, es una tabla de hashes precalculados, es decir, cuando uno trata de crackear un hash hace lo siguiente:
hash("Password a intentar"), una tabla precalculada es en pocas palabras una base de datos que tiene el password a intentar y el hash, de esta manera, sólo se tiene que buscar el hash en la tabla y listo, se ahorra mucho tiempo. El problema es que ocupan bastante espacio cada una. Es por eso que se conoce al método como time-memory tradeoff.

Según los parámetros que le pongas al rtgen, vas a poder definir:
- Tamaño mínimo y máximo del password.
- Keyspace a abarcar (numerico, loweralfa, upperalfa, etc.)
- Tamaño de la base de datos en disco.
- Porcentaje de éxito.
- Tiempo de precálculo.
- Tiempo de búsqueda.

Los parámetros que le pasas al rtgen son:
Sha1: El algoritmo de hash.
Numeric: El keyspace a abarcar (de 0 a 9 en este caso).
1: Tamaño mínimo.
7: Tamaño máximo.
0-4: Número de tabla.
2400: Chain len. Longitud de la cadena. Cuando este número aumenta: La probabilidad de éxito, el tiempo de precálculo y el tiempo de búsqueda.
80000: Chain Count. Cantidad de cadenas. Cuando este número aumenta: Aumenta el tamaño, la probabilidad de éxito y el tiempo de precálculo.

Esto significa, que si aumentás la chain len, vas a tardar más en buscar en las tablas una vez que estén creadas, pero vas a aumentar la probabilidad de éxito sin alterar el tamaño de la tabla.
Por otro lado, si aumentas la chain count, no vas a tardar más en buscar en las tablas, pero va a aumentar el tamaño de la tabla misma.

Esto significa que te conviene buscar un chain len que te de poco tiempo de búsqueda, y una vez que lo hayas seleccionado, aumentar el chain count hasta que te de una probabilidad de éxito que te guste.

Para hacer estos cálculos te recomiendo que uses winrtgen o su equivalente en linux, tiene un benchmark que te calcula cuanto tiempo vas a tardar en hacer las tablas y el tiempo que vas a tardar en buscar en las mismas.

Un abrazo
APOKLIPTICO.