Hashcat es una aplicación que permite la
recuperación de las contraseñas, a partir del valor del
hash para cada una de ellas. Si se tiene en cuenta el hecho de
que éstas no suelen almacenarse como texto plano en la base de
datos, sino como su hash, esta herramienta provee diversos métodos para la
recuperación. Al ser esta aplicación una de las más rápidas
para estas tareas, en este post se expondrán sus características
principales.
Para poder realizar la autenticación
de un usuario a un servicio es necesario comparar la contraseña
ingresada contra aquella que se encuentra almacenada: si coinciden, el usuario
puede ingresar. Sin embargo, es recomendable no almacenar las contraseñas en
texto plano, ante la posibilidad que existe de la fuga de
información. Además, es recomendable utilizar “salting” que se trata de
agregar una cadena de caracteres conocida al final de la contraseña para
dificultar su descifrado por fuerza bruta. En los últimos tiempos se han
observado varios de estos casos, entre
ellos el de LinkedIn, en el cual las contraseñas que se filtraron
estaban cifradas, pero sin ningún mecanismo adicional de
seguridad. Por lo tanto, si bien es imposible deducir la función
matemática que convierte el hash en el texto plano original, puede calcularse el
hash para contraseñas muy comunes y comparar contra aquellos
almacenados para encontrar alguna coincidencia. Como es de
esperarse, mientras más corta o reconocible sea la contraseña, más posibilidades
existen de que la misma sea obtenida a partir del hash.
Hashcat realiza justamente
este procedimiento: toma como entrada un conjunto de palabras en texto plano y
calcula el hash para ellas, comparando contra otro archivo que
almacena los hashes de las contraseñas originales; todas las
coincidencias serán las contraseñas recuperadas. Sin embargo,
aquello que hace a hashcat la herramienta predilecta para este tipo de tareas es
su capacidad de acelerar notablemente los cálculos mediante la utilización de
varios hilos ejecutándose en paralelo. Además, va un paso más
adelante al proveer no sólo la opción de realizar los cálculos en CPU, sino
también utilizando el mayor poder de procesamiento de las GPU
actuales, pasando del orden de los millones de hashes a miles de millones por
segundo.
Otra característica notable de hashcat es su disponibilidad en
diversas plataformas, tales como Windows,
Linux y OSX, además de que provee versiones
tanto por línea de comandos, como así también a través de una GUI bastante
completa. A continuación se observa una captura de pantalla para la versión GUI
de Windows:
Si a la amplia cantidad de algoritmos de cálculo de hash
soportados se le suma una variedad de métodos para producir las palabras de
entrada, desde la generación de todas las combinaciones de caracteres posibles
para realizar un ataque de fuerza bruta, hasta la combinación
de palabras presentes en un diccionario, se entiende por qué
esta herramienta es la opción más utilizada por los expertos.
En un próximo post se mostrará el uso de la herramienta,
midiendo la efectividad que puede lograrse en base a
contraseñas reales, y poniendo especial énfasis en la necesidad de utilizar
contraseñas fuertes.
0 comentarios:
Publicar un comentario