Tabla arcoíris

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Las tablas arcoíris o tablas Rainbow son tablas de consulta que ofrecen un compromiso espacio-tiempo para obtener claves en texto simple a partir del resultado de una función de hash.

Hash[editar]

Hash es una función que se aplica a un archivo de cualquier tipo, ya sea documentos, fotos, música, etc. de la cual se obtiene una clave que representa de manera única a ese archivo.

Este método se utiliza mucho en las descargas de Internet para comprobar la integridad de un archivo, es decir, poder comprobar si en la descarga del fichero ha habido algún tipo de error. Para ello se comprueba que el hash obtenido del fichero descargado sea igual al original en el servidor (normalmente los autores de los archivos suelen indicarlo).

Las funciones Hash más importantes son:

Funcionamiento[editar]

A continuación se explica mediante un ejemplo el funcionamiento de las tablas rainbow. Se desea averiguar cuál contraseña produce el hash «re3xes»


Rainbow table2.svg


  1. Primero se aplica la reducción (aplicar una función hash pero en sentido contrario) que se utilizó por última vez en la tabla y comprobar si la contraseña obtenida aparece en la última columna de la tabla (paso 1).
  2. Si no resulta (en este caso, rambo no aparece en la tabla) se vuelve a repetir el proceso, pero ahora con las dos últimas reducciones (paso 2).
    Si en este proceso se fallara de nuevo, se volvería a repetir el proceso pero aplicando 3 reducciones, después 4 y así hasta que se encuentre la contraseña. De no ser así, el ataque habría fracasado.

Si el proceso ha sido positivo (paso 3, en este caso linux23 aparece en la tabla al final de la cadena), la contraseña se recupera en el principio de la cadena que produce linux23. Aquí nos encontramos con passwd al principio de la cadena almacenada en la tabla.

  1. En este punto (paso 4) se genera una cadena y en cada iteración se compara el hash con el que queremos obtener. En este caso nos encontramos con el hash re3xes en la cadena. Por tanto la contraseña actual «culture» genera este hash que es la que se busca.

Es importante saber que las tablas rainbow son creadas a partir de una función de hash específica, por ejemplo, para romper los hashes de MD5 necesitaremos unas tablas rainbow basadas en hashes de MD5 y para SHA, tablas rainbow SHA.

Esta técnica fue desarrollada por Philippe Oechslin como un método basado en el compromiso espacio-tiempo o tiempo-memoria.

Aplicaciones[editar]

Los programas que utilizan las tablas rainbow siempre han de utilizarse como auditoría de tus contraseñas en lo que se llama hacking ético.

Un ejemplo de herramienta que utiliza estas tablas es el programa Ophcrack, el cual permite crackear las contraseñas de Windows. Para evitar que aplicaciones como esta no rompan contraseñas tan fácilmente, es aconsejable utilizar Salts.

Salts[editar]

En criptografía, se denomina salt a un fragmento aleatorio (caracteres, números...) que se añade a un hash para conseguir que si dos usuarios generan una misma contraseña, su hash no sea idéntico y con ello evitar problemas de seguridad.

Los salts también ayudan contra las tablas rainbow al extender la longitud y con ello la complejidad de la contraseña.

Enlaces externos[editar]

Rainbow Crack página donde se puede descargar el programa para crear Tablas Rainbow.

Tablas Rainbow aquí se pueden descargar tablas creadas, las cuales pueden llegar a ocupar 80 GB.

Ophcrack programa para poder utilizar las Tablas Rainbow.