Para aquellos que aún no lo conozcan, John the Ripper es una herramienta de crackeo de contraseñas escrita en C y muy utilizada por los analistas de seguridad para comprobar la robustez de una clave frente a ataques de fuerza bruta.

En este artículo vamos a ver cómo puede utilizar un administrador de sistemas John the Ripper para comprobar la seguridad de la clave del equipo. De esta forma comprobaremos si somos vulnerables a un ataque de fuerza bruta o diccionario por parte de un pirata informático que busca obtener acceso remoto (o local) al mismo.

Cómo instalar John the Ripper en Ubuntu

Lo primero que debemos hacer es instalar la herramienta en nuestro sistema. John the Ripper está incluida en los principales repositorios de Linux, por lo que para instalarla (por ejemplo en un sistema Ubuntu) simplemente debemos teclear en el terminal:

sudo apt install john

John The Ripper Crackear Contraseñas tutorial foto 1

Una vez instalada la herramienta ya podemos seguir con esta guía.

Probar rendimiento de John the Ripper

Antes de empezar con el crackeo de las contraseñas podemos lanzar un sencillo test de rendimiento donde se pondrá a prueba nuestro hardware. De esta manera podremos saber la velocidad con la que la herramienta probará claves con diferentes tipos de cifrado utilizando el 100% de nuestra CPU. Para ello simplemente abrimos un terminal Linux y tecleamos:

john --test

John The Ripper Crackear Contraseñas tutorial foto 2

Como podemos ver, se llevan a cabo una serie de tests donde se medirá el rendimiento.

Caso práctico 1: Crackear contraseñas de usuarios de Linux por fuerza bruta

Una vez instalada la herramienta y realizado el test de rendimiento ya podemos empezar con un caso real. Podemos optar por cargar directamente el archivo “/etc/shadow” que contiene las contraseñas de Linux y crackearlas, sin embargo, en este ejemplo vamos a crear un documento manualmente con un usuario y una contraseña y le indicaremos a John que lo crackee. Vamos a hacer esto por tres razones:

  • Para no comprometer realmente nuestro sistema.
  • Para obtener los resultados lo más rápidamente posible (vamos a utilizar una clave muy simple)
  • Para tener una primera toma de contacto con la herramienta y familiarizarnos con ella.

Para ello creamos un nuevo archivo de texto, por ejemplo, en nuestra carpeta personal de Ubuntu con el siguiente contenido:

user:AZl.zWwxIh15Q

A continuación vamos a indicar a John que empiece a trabajar para crackear la contraseña del archivo anterior. Para ello tecleamos:

john password.txt

La herramienta empezará a trabajar.

John The Ripper Crackear Contraseñas tutorial foto 3

Debemos esperar a que John the Ripper consiga crackear la contraseña del anterior archivo. Este proceso puede tardar horas e incluso días según la dificultad de la misma. Cuando el proceso finalice veremos un resultado similar al siguiente.

John The Ripper Crackear Contraseñas tutorial foto 4

Nuestra contraseña está crackeada. Para verla simplemente debemos utilizar el comando –show de la siguiente manera:

john --show password.txt

John The Ripper Crackear Contraseñas tutorial foto 5

Nuestra contraseña era “example” (tal como viene en el ejemplo de la Wikipedia). Ya podemos intentar iniciar sesión en el sistema con el usuario “user” y la contraseña “example”, o por lo menos podríamos hacerlo si hubiéramos trabajado directamente con el fichero /etc/shadow, aunque el tiempo de crackeo hubiera tardado mucho más que varios minutos.

Más adelante veremos cómo utilizar esta misma herramienta pero para crackear contraseñas utilizando un diccionario como fuente de claves.

Para finalizar os vamos a dejar un pequeño reto para practicar con este programa, copiando exactamente un caso práctico de un archivo /etc/shadow:

redes-zone:$6$85X6KHD9$10GCEYlO7fVYKh4kIIaiEN37zCB/ROaG1hYmLYane90m1teephQHEhWVx/grdlB/cgg/1cfEuMIt2UUIllQkI.

Caso práctico 2: Crackear contraseñas de usuarios de Linux utilizando un diccionario de claves

Al igual que en el tutorial anterior, en este caso vamos a partir de una clave de ejemplo que hemos guardado a mano en un documento llamado “password.txt”:

user:AZl.zWwxIh15Q

A continuación lo que tenemos que hacer es tener o crear un diccionario de claves personalizado. Podemos descargar estos diccionarios de Internet, pero para hacer las primeras pruebas del programa vamos a crear nosotros un diccionario sencillo, al que llamaremos “passwords.lst” y en el que introduciremos varios valores, cada uno en una línea, pero siendo uno de ellos la palabra “example” (ya que corresponde con nuestra contraseña).

John the Ripper contraseñas diccionario foto 1

A continuación simplemente debemos ejecutar John the Ripper con el parámetro –wordlist= seguido de la ruta de nuestro archivo. A continuación ponemos un ejemplo con los dos archivos que hemos generado (el de la contraseña cifrada y el diccionario):

john --wordlist=passwords.lst password.txt

John the Ripper contraseñas diccionario foto 2

Al tener una clave sencilla y pocas entradas del diccionario el proceso será prácticamente instantáneo. Ya hemos crackeado, o descifrado, la contraseña. Lo único que nos queda por hacer es utilizar el parámetro –show para que nos muestre el resultado.

john --show password.txt

John the Ripper contraseñas diccionario foto 3Hasta aquí hemos llegado con nuestro manual de John The Ripper, esperamos que os sirva de ayuda. Os invitamos a visitar nuestra sección de Seguridad Informática donde encontraréis más tutoriales.

Publicado por Rubén Velasco el 25 Abril 2015 , actualizado el 22 Abril 2015

  • DVru

    Alguna idea del tiempo que tarda en el caso ??
    $6$85X6KHD9$10GCEYlO7fVYKh4kIIaiEN37zCB/ROaG1hYmLYane90m1teephQHEhWVx/grdlB/cgg/1cfEuMIt2UUIllQkI.

    pd: Gracias por la presentación de esta herramienta, buen trabajo.

    • Luigi Smith

      Tiempo estimado= Un millón de años, incluso utilizando tecnología futura.

  • Juan Manuel Gallardo

    Muchas gracias por el tutorial. La última captura de pantalla está repetida, es decir, es la misma que la antepenúltima. Aún así, se visualiza que la contraseña es “example”.

Últimos análisis

Valoración RZ
10
Valoración RZ
7
Valoración RZ
9
Valoración RZ
10
Valoración RZ
8
Valoración RZ
10
Valoración RZ
9
Valoración RZ
9
Valoración RZ
10