Rainbow Tables (tablas arco-iris)
Las rainbow tables o también conocidas, o más bien traducidas, como tablas arco iris son un elemento esencial en el mundo del crackeo o descifrado de credenciales. Las contraseñas no son almacenadas, habitualmente, en texto plano, aunque de todo hay en este mundo y nos podemos encontrar cualquier cosa. Normalmente una contraseña es almacenada como hash.
En los sistemas operativos la contraseña se almacena como hash y nunca como texto plano ya que si el sistema fuera comprometido el atacante tendría acceso a todas las contraseñas en texto plano de los usuarios. Hay que recalcar que lo que se consigue con el tema de hashes es dificultar al atacante la obtención de las contraseñas pero nunca conseguiremos un modo seguro total, eso sí debemos seguir las recomendaciones para dificultar lo máximo al atacante.
Entonces, ¿Qué es? la rainbow table es una tabla que almacena un par, que son la palabra inicial y la palabra final. Después comentaremos exactamente que es eso de la palabra inicial y la palabra final. Hay que destacar también lo que es la función de reducción y de resumen. El algoritmo de resumen se aplica a una contraseña y se obtiene el hash de dicha contraseña. Por otro lado, los algoritmos de reducción se aplican sobre los hashes obteniendo otras palabras. Hay que recalcar que no estamos revertiendo el hash mediante el algoritmo de reducción, la palabra que se obtiene no tiene que ver con el hash anterior, mientras que con el algoritmo de resumen que se aplica a una contraseña si que da como resultado el hash de dicha palabra. Esto es muy importante que quede claro.
Contenido completo en fuente original Flu-Project
¿Qué es esto del hash?
Desde el punto de vista matemático un hash es una función unidireccional, es decir, la contraseña es pasada por una función matemática dando como resultado, el conocido como ‘chorizo’, el hash. Conseguir pasar del hash a la contraseña de nuevo no es nada fácil, de esto que la función sea unidireccional, es posible pasar de texto plano al hash, pero no del hash al texto plano.En los sistemas operativos la contraseña se almacena como hash y nunca como texto plano ya que si el sistema fuera comprometido el atacante tendría acceso a todas las contraseñas en texto plano de los usuarios. Hay que recalcar que lo que se consigue con el tema de hashes es dificultar al atacante la obtención de las contraseñas pero nunca conseguiremos un modo seguro total, eso sí debemos seguir las recomendaciones para dificultar lo máximo al atacante.
¿Qué es la rainbow table?
Primero hablaremos de lo que no es, no es un par (hash, text plain), esta tabla ocuparía muchísimos TB debido a que existen mayúsculas, minúsculas, números, caracteres especiales, esto da como resultado muchísimas combinaciones por lo que sería inviable almacenar dicha tabla, e incluso sería inviable la búsqueda de los hashes en estas tablas. En el proyecto Shmoo hay algunos ejemplos de tablas de LANMAN.Entonces, ¿Qué es? la rainbow table es una tabla que almacena un par, que son la palabra inicial y la palabra final. Después comentaremos exactamente que es eso de la palabra inicial y la palabra final. Hay que destacar también lo que es la función de reducción y de resumen. El algoritmo de resumen se aplica a una contraseña y se obtiene el hash de dicha contraseña. Por otro lado, los algoritmos de reducción se aplican sobre los hashes obteniendo otras palabras. Hay que recalcar que no estamos revertiendo el hash mediante el algoritmo de reducción, la palabra que se obtiene no tiene que ver con el hash anterior, mientras que con el algoritmo de resumen que se aplica a una contraseña si que da como resultado el hash de dicha palabra. Esto es muy importante que quede claro.
Contenido completo en fuente original Flu-Project
Se cayo el link del post.
ResponderBorrarAhora es este:
http://www.flu-project.com/2011/09/rainbow-tables-tablas-arco-iris_5.html
Saludos!.