Las Rainbow Tables son tablas de consulta que ofrecen una gran velocidad para obtener claves en texto simple a partir del resultado de una función hash. Anteriormente en RedesZone, os hemos hablado de cómo se suelen almacenar las contraseñas en las bases de datos, no se almacenan nunca en texto claro sino que se le aplica una función hash para protegerlas, ya que es muy costoso sacar la clave cuando hemos aplicado una función hash.
En cualquier sistema informático que requiera autenticación por contraseña, se almacena un hash de dicha contraseña, y nunca se guarda en texto plano. En el siguiente artículo podéis conocer qué es una función hash y para qué sirve:
Dependiendo de para qué se vaya a utilizar, hay algunos algoritmos hash diseñados específicamente para almacenar contraseñas, y otros algoritmos hash diseñados para comprobar la integridad de las comunicaciones. Anteriormente en RedesZone ya os ofrecimos un listado de algoritmos hash seguros:
Además, también escribimos un completo artículo sobre cómo almacena Dropbox las contraseñas de todos los clientes en sus bases de datos, utilizando varias funciones hash para proteger la contraseña adecuadamente.
¿Qué son las Rainbow tables?
Las Rainbow Tables es una gran herramienta para expertos en seguridad, y tiene como objetivo obtener una contraseña mirando solamente el valor hash de dicha contraseña. Para poder crackear una contraseña, en algunos casos solo es necesario realizar otros tipos de ataque que no necesitan las Rainbow Tables:
- Ataque por diccionario: probar una larga lista de contraseñas y comprobar si el hash coincide con el hash de la base de datos de contraseñas.
- Ataque por fuerza bruta: probar todas las combinaciones de contraseñas, ir una por una comprobando si el hash coincide con el hash de la base de datos de contraseñas.
Si la contraseña es de las conocidas por el diccionario o es muy corta y se ha llegado a ella a través de probar combinaciones, no será necesario usar las Rainbow Tables. Sin embargo, si la contraseña es bastante larga, se hace necesario utilizar unas Rainbow Tables para realizar una búsqueda del hash almacenado y que nos de la contraseña rápidamente. Este tipo de tablas son creadas utilizando una función hash específica, por ejemplo, si queremos romper una clave que está en la base de datos con un hash MD5, debemos utilizar la tabla creada para MD5 y no usar la de SHA1.
Las Rainbow Tables es una gigantesca tabla de funciones hash pre-calculadas, de esta forma, podremos crackear contraseñas de manera más rápida que con ataques de fuerza bruta o diccionario, ya que la CPU es capaz de procesarlas mucho más rápido. La parte negativa es que necesitaremos una gran cantidad de espacio en el disco duro para almacenar las Rainbow Tables.
En la siguiente imagen se puede ver el proceso simplificado que realizamos en una Rainbow Table para buscar el valor de hash «re3xes»
Un claro ejemplo de software que utiliza las Rainbow Tables es Ophcrack, este programa sirve para crackear las contraseñas de sistemas operativos Windows. En RedesZone tenemos un completo manual de Ophcrack.
Descarga gratis las Rainbow Tables más completas para crackear claves en MD5, SHA1, LM y NTLM
Gracias a SoydelBierzo, tenemos la posibilidad de descargar las Rainbow Tables más completas para los algoritmos hash MD5 y SHA1, además, también podremos descargar las Rainbow Tables para LM y NTLM de Microsoft.
El archivo Torrent que podéis descargar a continuación ocupa tan solo 200MB, pero únicamente están los Torrents a la descarga de las Rainbow Tables y algunas herramientas. Si descargáis toda la información de dichos Torrents, os ocupará un total de 10TB (10.000GB sí) por lo que cuidado con llenar vuestros discos duros.
Os recomendamos acceder a nuestra sección de seguridad informática donde encontraréis una gran cantidad de tutoriales.