Instalar John the Ripper en Linux

Kali LinuxBeginner
Practicar Ahora

Introducción

John the Ripper (a menudo abreviado como JtR) es una herramienta popular y potente de auditoría de seguridad de contraseñas y recuperación de contraseñas de código abierto disponible para muchos sistemas operativos. Si bien a menudo se puede instalar desde un gestor de paquetes, compilarlo desde el código fuente garantiza que tenga la última versión y permite configuraciones personalizadas.

En este laboratorio, aprenderá a instalar John the Ripper en un sistema Linux descargando el código fuente, compilándolo y agregándolo a la variable PATH de su sistema para un fácil acceso. Todas las operaciones se realizarán dentro del directorio ~/project.

Descargar el Código Fuente de John the Ripper

En este paso, descargará el código fuente de John the Ripper desde su repositorio oficial de GitHub. Luego extraeremos el archivo descargado para prepararlo para la compilación. Su directorio de trabajo actual es ~/project.

Primero, use el comando wget para descargar una versión estable específica de la versión "Jumbo" de John the Ripper, mejorada por la comunidad.

wget https://github.com/openwall/john/archive/refs/tags/1.9.0-jumbo-1.tar.gz

Debería ver una salida que indica que el archivo se está descargando y guardando.

--2023-10-27 10:30:00--  https://github.com/openwall/john/archive/refs/tags/1.9.0-jumbo-1.tar.gz
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
...
Saving to: ‘1.9.0-jumbo-1.tar.gz’

1.9.0-jumbo-1.tar.gz      100%[===================================>]  22.13M  65.4MB/s    in 0.3s

2023-10-27 10:30:01 (65.4 MB/s) - ‘1.9.0-jumbo-1.tar.gz’ saved [23201448/23201448]

A continuación, extraiga el contenido del archivo .tar.gz descargado usando el comando tar.

tar -xzvf 1.9.0-jumbo-1.tar.gz

Este comando creará un nuevo directorio que contiene el código fuente. Puede verificar esto listando el contenido de su directorio actual.

ls -l

Debería ver el directorio recién creado john-1.9.0-jumbo-1.

total 22668
-rw-r--r-- 1 labex labex 23201448 Jul 25  2021 1.9.0-jumbo-1.tar.gz
drwxr-xr-x 9 labex labex     4096 Jul 25  2021 john-1.9.0-jumbo-1

Instalar Dependencias Requeridas para la Compilación

En este paso, instalará las herramientas y bibliotecas necesarias para compilar John the Ripper desde el código fuente. La compilación de software a menudo depende de otros paquetes, como un compilador y bibliotecas de desarrollo.

Primero, es una buena práctica actualizar la lista de paquetes de su sistema para asegurarse de obtener las últimas versiones de las dependencias.

sudo apt-get update

A continuación, instale los paquetes esenciales para construir software en sistemas basados en Debian como Ubuntu. Necesitamos build-essential (que incluye el compilador GCC y make), libssl-dev (para soporte criptográfico) y yasm (un ensamblador).

sudo apt-get install -y build-essential libssl-dev yasm

La bandera -y responde automáticamente "sí" a cualquier solicitud, permitiendo que la instalación proceda sin interacción del usuario. Verá mucha salida mientras los paquetes se descargan e instalan.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
The following NEW packages will be installed:
  build-essential dpkg-dev g++ g++-11 libssl-dev libstdc++-11-dev make yasm
...
Setting up libssl-dev:amd64 (3.0.2-0ubuntu1.10) ...
Setting up make (4.3-4.1build1) ...
...

Con las dependencias instaladas, ahora está listo para compilar el código fuente.

Compilar John the Ripper desde el Código Fuente

En este paso, compilará el código fuente de John the Ripper. El proceso de compilación generalmente implica dos comandos principales: ./configure y make.

Primero, navegue al directorio src dentro de la carpeta del código fuente extraído.

cd john-1.9.0-jumbo-1/src/

Ahora, ejecute el script configure. Este script verifica su sistema en busca de las dependencias requeridas y prepara el entorno de compilación creando un Makefile adaptado a su sistema.

./configure

La salida mostrará los resultados de sus verificaciones.

...
checking for yasm... yasm
checking for OpenSSL... yes
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating common.h
...
Configuration finished. You can now run "make".

Una vez que la configuración esté completa, puede iniciar la compilación usando el comando make. Usaremos make -s clean para eliminar cualquier archivo de compilación anterior y make -sj4 para ejecutar la compilación utilizando 4 trabajos paralelos, lo que acelera el proceso.

make -s clean && make -sj4

Este proceso puede tardar unos minutos en completarse. Una vez finalizado, el ejecutable john compilado se colocará en el directorio ../run/. El prompt del comando regresará sin errores si la compilación fue exitosa.

Verificar la Instalación de John the Ripper

En este paso, verificará que John the Ripper se compiló correctamente ejecutando el ejecutable y su conjunto de pruebas integrado.

El binario compilado no se encuentra en el directorio src, sino en el directorio run. Naveguemos hasta él.

cd ../run

Ahora, ejecute el ejecutable john sin argumentos para mostrar su información de uso. Esta es una forma rápida de confirmar que se ejecuta.

./john

Debería ver la información de versión y uso, lo que confirma que el programa es ejecutable.

John the Ripper 1.9.0-jumbo-1 [linux-gnu 64-bit x86_64 AVX2 AC]
Copyright (c) 1996-2019 by Solar Designer and others
Homepage: https://www.openwall.com/john/

Usage: john [OPTIONS] [PASSWORD-FILES]
...

Para realizar una verificación más exhaustiva, ejecute el benchmark y la autocomprobación integradas. Esto probará varios algoritmos de hash y asegurará que funcionen correctamente en su sistema.

./john --test

La prueba se ejecutará durante uno o dos minutos e imprimirá los resultados del benchmark para muchos tipos de hash diferentes.

Benchmarking: descrypt, traditional crypt(3) [DES 128/128 SSE2-16]... DONE
Many salts:	12032K c/s real, 12032K c/s virtual
Only one salt:	11141K c/s real, 11141K c/s virtual

...

Benchmarking: LM [DES 128/128 SSE2-16]... DONE
Raw-MD5 [MD5 128/128 SSE2-16]... DONE
...
All tests passed

Ver "All tests passed" al final confirma que su compilación está funcionando correctamente.

Añadir John the Ripper al PATH del Sistema

En este paso, añadirá el directorio que contiene el ejecutable john a la variable de entorno PATH de su sistema. Esto le permitirá ejecutar john desde cualquier ubicación en la terminal sin tener que escribir la ruta completa.

El ejecutable john se encuentra actualmente en ~/project/john-1.9.0-jumbo-1/run. Para hacerlo accesible globalmente para su usuario, necesita añadir esta ruta al archivo de configuración de su shell. Dado que el entorno de laboratorio utiliza Zsh, el archivo es ~/.zshrc.

Utilice el comando echo para añadir el comando export a su archivo ~/.zshrc.

echo 'export PATH="$HOME/project/john-1.9.0-jumbo-1/run:$PATH"' >> ~/.zshrc

Este comando añade el directorio run al principio de su PATH. El cambio solo tendrá efecto en nuevas sesiones de terminal. Para aplicarlo a su sesión actual, necesita "cargar" (source) el archivo de configuración.

source ~/.zshrc

Ahora, verifiquemos que funciona. Primero, salga del directorio run y vaya a su directorio de inicio.

cd ~

Desde su directorio de inicio, intente ejecutar john sin especificar la ruta.

john

Si el PATH se configuró correctamente, verá la misma información de uso que antes. Esto confirma que ahora puede ejecutar John the Ripper desde cualquier lugar.

John the Ripper 1.9.0-jumbo-1 [linux-gnu 64-bit x86_64 AVX2 AC]
Copyright (c) 1996-2019 by Solar Designer and others
Homepage: https://www.openwall.com/john/

Usage: john [OPTIONS] [PASSWORD-FILES]
...

Resumen

¡Felicitaciones! Ha instalado correctamente John the Ripper desde su código fuente en un sistema Linux.

En este laboratorio, ha aprendido a:

  • Descargar el código fuente de un paquete de software usando wget.
  • Instalar las dependencias de compilación necesarias usando apt-get.
  • Configurar y compilar el código fuente con ./configure y make.
  • Verificar una compilación exitosa ejecutando el programa y sus pruebas integradas.
  • Añadir la ubicación del programa a la PATH de su sistema para un acceso conveniente desde cualquier directorio.

Este proceso de compilación desde el código fuente es una habilidad fundamental para los usuarios de Linux y le otorga un mayor control sobre sus instalaciones de software. Ahora está listo para explorar las potentes funciones de John the Ripper para la auditoría de seguridad de contraseñas.