Verificar la seguridad de las contraseñas de GNU/Linux con John the Ripper

Introducción.

Una de las primeras cosas que debemos verificar quienes estamos preocupados por la seguridad de los servidores y aplicaciones es la seguridad de las contraseñas que eligen y utilizan a diario los usuarios.  A nivel de aplicación y de sistema operativo se establecen políticas que les obligan a los usuarios a elegir combinaciones de caracteres con una confiabilidad que consideramos suficiente.  Pero cuan seguras son realmente esas claves ?

John the Ripper es una aplicación que pretende averiguar las contraseñas a través de un ataque de fuerza bruta.  Para esto es necesario contar con acceso a la base de datos de los usuarios (/etc/passwd) y de las contraseñas cifradas (/etc/shadow) del sistema operativo.  Su uso es muy simple y como se mencionó anteriormente, es muy útil para establecer si las contraseñas son fáciles de establecer o no mediante este tipo de ataques.

Instalación en Ubuntu.

Simplemente es necesario instalar el paquete que se encuentra en los repositorios estándar.

$ sudo aptitude install john

Utilizar JTR.

El primer paso consiste en generar un archivo intermedio entre la lista de usuarios y sus contraseñas cifradas.

$ sudo unshadow /etc/passwd /etc/shadow > usuarios.db

A continuación se inicia el proceso de verificación de contraseñas por fuerza bruta.

$ john usuarios.db

Este proceso puede tomar una cantidad considerable de tiempo y recursos de procesamiento.  En cualquier momento es posible consultar las contraseñas que ya han sido determinadas y la cantidad de contraseñas pendientes mediante la siguiente instrucción.

$ john -show usuarios.db

Es posible continuar con una sesión previa que fue interrumpida ubicándose en el mismo directorio donde se encuentra el archivo de datos y ejecutando la siguiente instrucción.

$ john -restore

La información del proceso y las contraseñas encontradas se almacenan bajo la ruta ~/.john.

Enlaces.

Leave a Reply

Your email address will not be published. Required fields are marked *