Hoy me gustaría explicar cómo funcionan los étodos basicos de craquear un password en unix. Para los poco iniciados ( en los cuales me incluyo ;)) puede ser de ayuda.

Lo básico

Para saber cómo atacar las contraseñas en sistemas UNIX primero tendremos que saber dos cosas.
La primera es cómo funciona el proceso de cifrado. La principal propiedad del cifrado de los passwords es que no se pueden deshacer, es decir, son unidireccionales, por tanto descartamos algún posible proceso que revierta el cifrado. Esto pasa por que se utilizan algoritmos de cifrado llamados funciones hash, que toman bloques de datos aleatorios para cifrar las contraseñas. Además, para evitar colisiones de hash (por si supiéramos dos contraseñas iguales y sus respectivos algoritmos, podrían dar los mismos resultados y deducir la contraseña en claro), se añaden bits de SALT (que son datos aleatorios añadidas a la contraseña en claro, antes de ser procesada por la función hash.
Saben todo esto, el otro que tenemos que saber es como hace el sistema para logejar al usuario si no se puede revertir el hash. Lo que hace es cifrar la contraseña de entrada y comparar con el archivo ‘etc / shadow’. Como se ha dicho en el punto a, sabe el algoritmo, sabe los bits de salto (todos separados por el símbolo $) y sal la palabra digerida por la función hash. Si mujer correcto deja entrar.

 

Ataques básicos

Ataque de fuerza bruta
Consiste en probar todas las posibilidades existentes una a una, hasta encontrar la resultante. En estos casos, en caso de tener la función hash + salto, este ataque probaría todas las posibles combinaciones de palabras, letras números y símbolos existentes utilizando el algoritmo y el salto que indica la función inicial. Como ventajas podríamos decir que tarde o temprano se encontraría la contraseña, y que el ataque es más sencillo de poner en marcha. Las desventajas ya se pueden imaginar, el tiempo que tardaría sería completamente desconocido, tanto podrían ser minutos (en caso de contraseñas tipo 1234) como siglos. También se inconveniente el coste computacional y energético que ello supone.

Ataque de diccionario
Este ataque es igual que el de fuerza bruta pero probando sólo palabras (cifras, palabras, etc.) ya preestablecidas en un fichero. Por ejemplo se pueden utilizar palabras de la lengua nativa del usuario o contraseñas típicas.
Como ventaja podemos afirmar que es mucho más eficiente en tiempo, en energía y en coste computacional que el de fuerza bruta. Como inconveniente, decir que es muy posible
que el diccionario no contenga la palabra buscada, y en este caso el ataque no saldría efecto.

Ataque lookup table
Dado el hecho de que las funciones hash con sus respectivos SALT son deterministas (siempre dan el mismo resultado si aplicamos las mismas directrices), existe la posibilidad de tener un diccionario con las equivalencias de palabra-hash ya precalculada. De este modo, sólo se debe comprar hashes y ya sabríamos la clave en claro. Este hecho es la principal ventaja, la rapidez. El principal inconveniente es el peso de los archivos que contienen las lookup tables.

Hasta aquí el post. Si os ha gustado ampliaré más. Es todo muy muy básico pero sirve como iniciación.

 

Un saludo y gracias por leer!

Nos vemos en las redes!

Por Chris J.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *