¿Qué es John The Ripper?

| Última modificación: 18 de noviembre de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿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 John The Ripper ejecutará cada uno, en este orden, por defecto. Ahora puedes empezar a descargar John The Ripper.

Single crack

🔴 ¿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

En este modo, John The Ripper 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

El modo diccionario de John The Ripper 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 y aprendas cómo usar John The Ripper. Para ello, te explicaremos cuál es su funcionamiento en el modo diccionario, que suele ser el más utilizado. Recuerda que debes haber podido descargar John The Ripper.

  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 para que aprendas cómo usar John The Ripper:

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, para que sigas aprendiendo cómo usar John The Ripper:

  • 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!

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado