Explorar las características de la versión John the Ripper Jumbo

Kali LinuxBeginner
Practicar Ahora

Introducción

John the Ripper (JtR) es una popular herramienta de cracking de contraseñas de código abierto. Si bien la versión estándar es potente, la versión "Jumbo" extiende significativamente sus capacidades al agregar soporte para muchos más tipos de hash, modos de cracking y utilidades. Este laboratorio lo guiará a través de la instalación de John the Ripper Jumbo y la exploración de sus características mejoradas. Aprenderá a identificar nuevos formatos de hash compatibles, utilizar modos de cracking avanzados y descubrir herramientas adicionales que vienen con el paquete Jumbo. Al final de este laboratorio, tendrá una comprensión sólida de cómo John the Ripper Jumbo se puede utilizar para tareas más completas de auditoría y recuperación de contraseñas.

Instalar John the Ripper Jumbo

En este paso, instalará John the Ripper Jumbo desde su repositorio oficial de GitHub. Esto implica clonar el repositorio, navegar al directorio fuente y compilar el software.

Primero, abra su terminal. Asegúrese de estar en el directorio ~/project.

cd ~/project

Ahora, clone el repositorio de John the Ripper Jumbo:

git clone https://github.com/openwall/john-the-ripper.git

Navegue al directorio john-the-ripper/src:

cd john-the-ripper/src

Compile John the Ripper Jumbo. Usaremos make clean && make -s para asegurar una compilación limpia y suprimir la salida detallada para una terminal más limpia.

make clean && make -s

Después de la compilación, el ejecutable john se encontrará en el directorio ~/project/john-the-ripper/run. Puede verificar la instalación comprobando su versión.

~/project/john-the-ripper/run/john --version

Debería ver una salida similar a esta, indicando la versión Jumbo:

John the Ripper 1.9.0-jumbo-1 (linux-gnu 64-bit x86_64 AVX2)
Copyright (c) 1996-2023 by Solar Designer and others
...

Identificar Nuevos Formatos de Hash Soportados por Jumbo

En este paso, explorará la extensa lista de formatos de hash soportados por John the Ripper Jumbo. La versión Jumbo expande significativamente el número de tipos de hash crackeables en comparación con la versión estándar.

Para listar todos los formatos de hash soportados, use la opción --list=formats con el ejecutable john. Dado que la salida es muy larga, la canalizaremos a less para facilitar su visualización.

~/project/john-the-ripper/run/john --list=formats | less

Presione q para salir de less después de revisar la lista.

También puede filtrar la lista para encontrar tipos de hash específicos. Por ejemplo, para ver formatos relacionados con bcrypt, puede usar grep:

~/project/john-the-ripper/run/john --list=formats | grep -i bcrypt

Debería ver una salida similar a esta, mostrando varios formatos de bcrypt:

bcrypt, bcrypt-opencl, bcrypt-cuda

Esto demuestra cómo Jumbo soporta una gama más amplia de tipos de hash modernos y complejos, haciéndolo más versátil para la auditoría de contraseñas.

Utilizar Nuevos Modos de Crackeo en Jumbo

En este paso, aprenderá sobre algunos de los nuevos modos de crackeo disponibles en John the Ripper Jumbo. Jumbo introduce técnicas de crackeo avanzadas y optimizaciones que pueden mejorar la eficiencia del crackeo.

Una de las características potentes es la capacidad de usar listas de palabras (wordlists) con reglas. Crearemos un archivo de contraseñas simple y una lista de palabras para demostrar un intento básico de crackeo.

Primero, cree un archivo llamado passwords.txt con un hash de muestra. Usaremos un hash MD5 simple para la demostración.

echo "user1:21232f297a57a5a743894a0e4a801fc3" > ~/project/passwords.txt

El hash 21232f297a57a5a743894a0e4a801fc3 corresponde a la contraseña admin.

A continuación, cree una lista de palabras simple llamada wordlist.txt:

echo -e "password\nadmin\n123456" > ~/project/wordlist.txt

Ahora, intente crackear el hash usando el modo de lista de palabras.

~/project/john-the-ripper/run/john ~/project/passwords.txt --wordlist=~/project/wordlist.txt

Debería ver una salida que indica que la contraseña ha sido crackeada:

Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5])
Cost 1 (iteration count) is not supported for this hash type.
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
admin            (user1)
1g 0:00:00:00 DONE (2023-10-27 08:00) 100.0g/s 100.0p/s 100.0c/s 100.0C/s admin
Session completed.

Para mostrar la contraseña crackeada, use la opción --show:

~/project/john-the-ripper/run/john ~/project/passwords.txt --show

Salida:

user1:admin

1 password hash cracked, 0 left

Este ejemplo básico demuestra el modo de lista de palabras. Jumbo también soporta modos más complejos como el modo incremental con conjuntos de caracteres, modos externos y más, que puede explorar en la documentación.

Explorar Utilidades Adicionales en Jumbo

En este paso, explorará algunas de las utilidades adicionales que vienen incluidas con John the Ripper Jumbo. Estas utilidades están diseñadas para ayudar en varios aspectos de la auditoría de contraseñas, como la preparación de archivos de contraseñas o la generación de listas de palabras.

Una utilidad útil es unshadow, que combina los archivos /etc/passwd y /etc/shadow en un formato que John the Ripper puede procesar. Aunque no modificaremos archivos del sistema, podemos simular su uso.

Otra utilidad importante es unique, que puede filtrar entradas duplicadas de una lista de palabras. Crearemos una lista de palabras con duplicados y luego usaremos unique para limpiarla.

Cree un archivo llamado duplicate_wordlist.txt:

echo -e "apple\nbanana\napple\norange\nbanana" > ~/project/duplicate_wordlist.txt

Ahora, use la utilidad unique, que se encuentra en el directorio run, para eliminar duplicados:

~/project/john-the-ripper/run/unique ~/project/duplicate_wordlist.txt

La salida debería mostrar solo palabras únicas:

apple
banana
orange

Esto demuestra cómo se puede usar unique para refinar listas de palabras, lo cual es crucial para un crackeo eficiente. Puede encontrar otras utilidades en el directorio ~/project/john-the-ripper/run.

Comparar Jumbo con John the Ripper Estándar

En este paso, comprenderá las diferencias clave y las ventajas de John the Ripper Jumbo en comparación con la versión estándar. Si bien la versión estándar es una herramienta sólida, Jumbo ofrece mejoras significativas.

Las principales ventajas de Jumbo incluyen:

  • Soporte de Hash Extendido: Jumbo soporta una gama mucho más amplia de tipos de hash, incluyendo muchos hashes modernos y específicos de aplicaciones que la versión estándar no soporta. Esto se demostró en el Paso 2.
  • Rendimiento Optimizado: Jumbo a menudo incluye algoritmos de crackeo optimizados y una mejor utilización del hardware (como GPUs a través de OpenCL/CUDA, aunque no cubierto en este laboratorio) para un crackeo más rápido.
  • Utilidades Adicionales: Como se vio en el Paso 4, Jumbo incluye varias utilidades auxiliares que agilizan el proceso de auditoría de contraseñas.
  • Desarrollo Activo: La versión Jumbo típicamente recibe actualizaciones más frecuentes y nuevas características de la comunidad.

En resumen, si se toma en serio la auditoría o recuperación de contraseñas, la versión Jumbo de John the Ripper es casi siempre la opción preferida debido a sus capacidades ampliadas y su desarrollo activo. La versión estándar podría ser suficiente para tareas básicas, pero Jumbo proporciona un conjunto de herramientas más completo y actualizado.

Ha instalado con éxito John the Ripper Jumbo, ha explorado su nuevo soporte para formatos de hash, ha utilizado un modo de crackeo básico y ha descubierto una de sus utilidades adicionales. Este laboratorio le ha proporcionado una comprensión fundamental de las características mejoradas que ofrece la versión Jumbo.

Resumen

En este laboratorio, instaló con éxito John the Ripper Jumbo desde su código fuente, demostrando el proceso de compilación de una potente herramienta de seguridad. Luego exploró su amplio soporte para varios formatos de hash, destacando la versatilidad de Jumbo para manejar diferentes tipos de hashes de contraseñas. También adquirió experiencia práctica utilizando uno de sus modos de crackeo al descifrar un hash MD5 de muestra con una lista de palabras. Además, descubrió y utilizó una utilidad adicional, unique, que ayuda a preparar listas de palabras para un crackeo más eficiente. Finalmente, comprendió las ventajas clave de la versión Jumbo sobre John the Ripper estándar, enfatizando su soporte de hash más amplio, optimizaciones de rendimiento y utilidades incluidas. Este laboratorio lo ha equipado con habilidades prácticas y conocimientos para aprovechar John the Ripper Jumbo para tareas avanzadas de auditoría y recuperación de contraseñas.