¿Qué es John The Ripper?

Autor: | Última modificación: 26 de julio de 2022 | Tiempo de Lectura: 4 minutos

¿Sabes qué es John The Ripper y cómo se utiliza este programa en el mundo de la ciberseguridad? El almacenamiento y gestión de contraseñas de usuarios requiere un tratamiento especial de los datos para garantizar que estén seguros. Para eso, se utilizan funciones hash, que permiten guardar un código de resumen de la contraseña y no el texto plano de la misma en una base de datos. De esta forma, si se filtra la información, los atacantes tendrán que romper dicho hash para conocer la contraseña del usuario.

En este post, hablaremos sobre una de las herramientas más utilizadas, más versátiles y más queridas en el mundo de la ciberseguridad, que sirve para encontrar la contraseña de un usuario a partir de su función de resumen. A continuación, te explicaremos qué es John The Ripper y cómo funciona este famoso software de hacking ético.

¿Qué es John The Ripper?

John The Ripper es una herramienta de código abierto que viene instalada por defecto en el sistema operativo Kali Linux y que sirve para descifrar contraseñas de usuarios a partir de sus códigos hash.

Las funciones hash son irreversibles por definición y, por eso, John The Ripper funciona creando generando los códigos hash de miles de palabras incluidas en un archivo de texto plano conocido como diccionario. A este tipo de operación se le conoce como ataque de diccionario y John The Ripper es el programa más comúnmente utilizado para ejecutar uno.

Para aprender qué es John The Ripper, es necesario conocer sus cuatro modos de funcionamiento, que son:

  • Single crack.
  • Diccionario.
  • Incremental.
  • Externo.

Si no se especifica el modo que se quiere utilizar, el programa ejecutará cada uno, en este orden, por defecto.

Single crack

En este modo, John utiliza el nombre del usuario para generar diferentes combinaciones y generar su código hash para compararlo con el que se está intentando romper o crackear. En muchas ocasiones, las personas utilizan su mismo nombre de usuario o una variación del mismo como contraseña. Tanto así, que esto es lo primero que prueba este software.

Diccionario o wordlist

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

El modo diccionario implica el uso de una lista de palabras predeterminadas que puede adquirirse de diferentes formas. Existen diccionarios famosos como, por ejemplo, el RockYou.txt, pero, asimismo, se pueden crear listas de palabras propias a partir de bases de datos filtradas, lo cual es común en los ciberataques.

Incremental

En este modo, John The Ripper intenta crackear la contraseña de un usuario mediante un ataque por fuerza bruta, de acuerdo a ciertas reglas que ya han sido predefinidas por el programa.

Externo

Se utiliza un software externo a John, el cual debe estar escrito en lenguaje de programación C, y se utiliza para ejecutar ataques de fuerza bruta, siguiendo los lineamientos que estén inscritos en dicho programa. Es un modo con el cual se pueden hacer este tipo de ataques con lineamientos escogidos directamente por el programador.

¿Cómo funciona John The Ripper?

Ya hemos visto qué es John The Ripper y, ahora, es momento de que comiences a practicar con este software. Para ello, te explicaremos cuál es su funcionamiento en el modo diccionario, que suele ser el más utilizado:

  1. Primero, puedes indicarle a John cuál es el tipo de hash que estás intentando romper. Si no, el programa puede identificarlo por sí solo. No obstante, especificar este dato agilizará el funcionamiento de la aplicación. Por ejemplo (para un hash en formato MD5): –format=rawmd5
  2. Luego, debes escoger la ruta del diccionario. Por ejemplo: –wordlist=/usr/share/wordlists/rockyou.txt
  3. Finalmente, debes indicar el nombre del archivo de texto que contiene el código hash a romper. Por ejemplo: hashEjemplo.txt

A partir de este ejemplo, la línea de código de la consola se vería del siguiente modo:

john --format=rawmd5 --wordlist=/usr/share/wordlists/rockyou.txt hashEjemplo.txt

Esto hará que el programa genere las funciones hash MD5 de cada una de las palabras del diccionario y las compare con el código hash del archivo de texto «hashEjemplo.txt» hasta encontrar una coincidencia.

¿Cómo protegerse de un ataque de diccionario?

Ahora que sabes qué es John The Ripper y cómo se puede usar para romper códigos hash de contraseñas, seguramente te preguntarás cómo mantenerte a salvo de un ataque de diccionario o de uno de fuerza bruta.

Para ello, existen tres recomendaciones indispensables para programadores y usuarios:

  • Los desarrolladores deben escoger funciones hash seguras para contraseñas, como, por ejemplo, las SHA512 o SHA256. Algoritmos como el MD5 y el SHA-1 se pueden romper fácilmente por medio de programas de código abierto y páginas web gratuitas.
  • Los usuarios no deberían escoger contraseñas demasiado fáciles y tampoco deberían reutilizarlas. Combinaciones como «1234«, «0000«, «hola«, «contraseña«, etc., son imposibles de proteger de un ataque.
  • Para evitar que se rompan los hashes de contraseñas de dificultad intermedia (que son las más comunes) y proteger a los usuarios, se puede usar la técnica del salting, que implica agregarle datos aleatorios a la contraseña del usuario antes de generar el hash. Esto también impide que se hagan estos ataques de forma satisfactoria.

¿Cómo aprender más?

Ya sabes qué es John The Ripper y cómo funciona este reconocido software del hacking ético. Si quieres aprender más y convertirte en un experto en ciberseguridad, aquí tenemos la mejor opción para ti. Matricúlate en el Ciberseguridad Full Stack Bootcamp y especialízate en menos de 7 meses. ¡Inscríbete ya!

[email protected]

¿Sabías que hay más de 24.000 vacantes para especialistas en Ciberseguridad sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!