21 noviembre, 2007

Usando Google para encontrar los passwords

Al parecer un blog del viernes Steven J. Murdoch del grupo del grupo de seguridad de la Universidad de Cambridge ha estado creando preocupación entre los desarrolladores de sitios de internet.

Básicamente, comenta que un hacker abrió una cuenta en uno de los sitios que Steven administra y logró obtener acceso administrativo. Siendo investigador, una de las cosas que le vino a la mente era buscar el password que el hacker había usado. Para esto uso algunas herramientas que tenia a la mano y desarrollo un programa en python para encontrar el password del hacker en base al md5 (hash) que tenía en la base de datos. Ningúno de estos funcionó, así que recurrio a Google y para su sorpresa al buscar el hash, google regresó varias páginas con el nombre Anthony.

Para aquellos que estén pensando que Google tiene algún algoritmo para descifrar el hash de md5, dejénme decirles que esto no es así para nuestra suerte. Lo que sucede es que muchas páginas usan los hash de los nombres de usuarios o similares en el url para ese usuario, así que al buscar Google regresa esa página por el URL y no es por que sabe que el nombre Anthony es el descifrado del hash de 20f1aeb7819d7858684c898d1e98c1bb. Así que no esperen encontrar muchas inversiones de hashes usando Google.

Hay dos buenos sitios web que pueden usar en lugar de Google para estos propósitos. Uno es md5(); que tiene cerca de 50 millones de hashes tanto en md5 como en sha1 en su base de datos. Otro es passcracking que a diferencia de md5(); lo que hace es utilizar rainbow tables clásicas e híbridas junto con diccionarios para descifrar el hash.

La lección de todo esto no es tanto lo que se puede hacer con Google, sino que hay que hacer un salt los passwords antes de cifrarlos o cifrarlos, luego hacer el salt y volver a cifrar para que no pueden encontrar los passwords de esta manera.

No hay comentarios.: