21 de mayo de 2010

John the Ripper

John the Ripper es un programa de criptografía que aplica fuerza bruta para descifrar contraseñas. Es capaz de romper varios algoritmos de cifrado o hash, como DES, SHA-1 y otros.

Es una herramienta de seguridad muy popular, ya que permite a los administradores de sistemas comprobar que las contraseñas de los usuarios son suficientemente buenas.

John the Ripper es capaz de autodetectar el tipo de cifrado de entre muchos disponibles, y se puede personalizar su algoritmo de prueba de contraseñas. Eso ha hecho que sea uno de los más usados en este campo.

John the Ripper usa un ataque por diccionario: tiene un diccionario con palabras, que pueden ser contraseñas típicas, y las va probando todas. Para cada palabra, la cifra y la compara con el hash a descifrar. Si coinciden, es que la palabra era la correcta.



Esto funciona bien porque la mayor parte de las contraseñas que usa la gente son palabras de diccionario. Pero John the Ripper también prueba con variaciones de estas palabras: les añade números, signos, mayúsculas y minúsculas, cambia letras, combina palabras, etc.

Además ofrece el típico sistema de fuerza bruta en el que se prueban todas las combinaciones posibles, sean palabras o no. Éste es el sistema más lento, y usado sólo en casos concretos, dado que los sistemas anteriores (el ataque por diccionario) ya permiten descubrir muy rápidamente las contraseñas débiles.

John the Ripper al principio fue diseñado para Unix, pero ahora funciona en al menos 15 sistemas operativos distintos: 11 tipos de Unix, MS-DOS, Windows, BeOS y OpenVMS. Se puede encontrar en la mayoría de distribuciones Linux.

Es software libre distribuido bajo la licencia GPL, aunque permite que algunas partes del programa se usen con otras licencias, y otras están bajo el dominio público.

Aunque esté catalogada como herramienta de cracking, John the Ripper es una utilidad para administradores muy sencilla y que no comporta peligro para el usuario si la usa de forma adecuada.

No pasa nada malo por ejecutar una herramienta de este tipo en un ordenador personal. Sin embargo, en ordenadores multiusuario a veces se prohíbe su uso, ya que al hacer fuerza bruta, es fácil que consuma todo el tiempo de CPU.

Los administradores de sistemas lo pueden emplear para evitar que sus usuarios pongan contraseñas demasiado fáciles, pero lo habitual es hacerlo mediante un programa automático, que sólo se interese por si la clave se puede adivinar fácilmente o no. En ningún caso es necesario que el administrador conozca la clave exacta; sólo ha de saber si es buena o no.

En un sistema Unix, algunos usuarios malintencionados pueden intentar usar este programa para obtener información de acceso. Para evitarlo, basta con asegurarse de que las contraseñas cifradas no estén visibles en el fichero /etc/passwd, sino en el fichero /etc/shadow, que ha tener desactivado el permiso de lectura para los usuarios normales. Esta es la configuración predeterminada en los sistemas operativos de tipo Unix (BSD, GNU/Linux, Mac OS X, etc.).

Página principal: http://www.openwall.com/john/

No hay comentarios:

Publicar un comentario