Está en la página 1de 5

JOHN THE RIPPER DE LINUX

¿Qué es John the Ripper?

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 seguridadpara comprobar la robustez de una clave frente a ataques
de fuerza bruta. Este programa es capaz de romper los hashes MD5, SHA-1 y otros muchos ampliamente
utilizados en el mundo informático. Este programa es capaz de detectar de forma automática el tipo de hash
que estamos crackeando, con el objetivo de facilitar al usuario su crackeo sin necesidad de preocuparse por
el tipo de hash que está intentando «romper».

Algunas características muy importantes de este programa es que está optimizado para muchos modelos de
procesadores, funciona en muchas arquitecturas de PC ytambién en diferentes sistemas operativos, no
obstante, generalmente se utiliza en sistemas operativos basados en Linux, de hecho, las principales
distribuciones Linuxorientadas al pentesting y a la seguridad informática ya incorporan de forma
predeterminada este programa.

Este programa es muy personalizable, nos permite definir la longitud a probar de unacontraseña, para generar
todas las combinaciones posibles y lograr el objetivo de crackear el hash. También nos permite configurar qué
rango de letras, números o símbolos podemos probar para descifrar la contraseña, además, también permite
incluir reglas para decidir cómo deben hacerse las diferentes variaciones.

John the Ripper permite pausar el crackeo de la contraseña y continuarlo en otromomento, esto es algo ideal
por si tenemos que apagar nuestro PC o servidor,además, se puede automatizar para empezar a crackear
una determinada contraseña al arrancar nuestro ordenador, y todo ello de forma automática sin necesidad de
intervención del administrador de sistemas.

Ataques por diccionario

Este programa nos permite crackear contraseñas por diccionario, si nos descargamos uno o varios
diccionarios de contraseñas de Internet de varias decenas de GB, la herramienta se encargará de probar todas
y cada una de estasclaves para intentar crackear el hash de la contraseña. El proceso consiste en generar el
hash de cada contraseña, para posteriormente comparar el hash que queremos romper, si el hash es el
mismo entonces hemos descubierto la contraseña, si el hash no coincide entonces no es la clave y tendremos
que seguirprobando. Podremos crackear las contraseñas que estén contenidas en los diccionarios de claves
de forma completamente automatizada.

Un aspecto destacable es que no solamente prueba las claves de los diccionarios, sino que también añade
números, mayúsculas, minúsculas y símbolos a las palabras

que le ponemos como «entrada», además, también es capaz de combinar palabraspara probar aún más
combinaciones de contraseñas y dar con la clave utilizada.

Ataque de fuerza bruta

El ataque por fuerza bruta consiste en probar todas las combinaciones de letras, números y símbolos de una
clave con una determinada longitud. Este método es elmás lento porque probará todas las combinaciones, y
puede tardar horas, días e incluso años en crackear contraseñas con una cierta longitud. Por lo general,
crackear una contraseña de más de 12 caracteres nos llevará muchísimo tiempo haciéndolo por fuerza bruta,
por tanto, debes tenerlo muy en cuenta.
Este programa nos permite configurar este ataque de fuerza bruta, le indicaremos que pruebe solo letras,
letras y números, e incluso añadir símbolos. Cuantos más caracteres de «entrada» tengamos, más tardará en
probar todas las combinacionesde contraseñas posibles, por lo que deberemos tenerlo muy en cuenta a la hora
de configurar la entrada.

Una vez que ya conocemos qué es John the Ripper y sus dos modos de funcionamiento, vamos a ver cómo
puede utilizar un administrador de sistemas esteprograma 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.

Instalación y prueba de rendimiento

Actualmente este programa está disponible en todos los repositorios de las principales distribuciones de
sistemas operativos Linux, por tanto, lo podremos instalar de forma fácil y rápida sin problemas. En caso de
que no esté disponible para tu distribución, siempre vas a poder añadirlo posteriormente editando el archivode
los repositorios. En este tutorial vamos a hacer uso de un sistema operativo Ubuntu para la instalación del
programa.

sudo apt install John

Una vez instalada la herramienta en nuestro sistema operativo, ya podremos utilizarla y empezar a crackear
contraseñas, no obstante, sería muy recomendableantes de empezar a crackear claves, realizar una prueba
rápida de velocidad de nuestro ordenador.

Probar el rendimiento en nuestro PC

Antes de empezar con el crackeo de las contraseñas podemos lanzar un sencillo testde rendimiento donde se
pondrá a prueba nuestro hardware. De esta manera, podremos saber la velocidad con la que la herramienta
probará claves con diferentestipos de cifrado utilizando el 100% de nuestra CPU. Para ello simplemente
abrimos un terminal Linux y tecleamos
john --test
:
Como podemos ver, se llevan a
cabo una serie de tests donde se
medirá elrendimiento, esto nos
puede dar una idea en general de
la potencia de procesamiento de
nuestro ordenador, con el objetivo
de probar todas las combinaciones
de letras, números y símbolos en el
menor tiempo posible.

Crackear contraseñas por


fuerza bruta

Una vez instalada la herramienta y realizado el test de rendimiento ya podemosempezar con


un caso real. Podemos optar por cargar directamente el archivo
«/etc/shadow» que contiene las contraseñas de Linux y crackearlas, sin embargo, eneste
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 unaclave
muy simple como ejemplo).

 Para tener una primera toma de contacto con la herramienta y familiarizarnoscon


ella.

Para ello creamos un nuevo archivo de texto llamado «password.txt», 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 lacontraseña del archivo
anterior. Para ello tecleamos:

john password.txt

La herramienta empezará a trabajar.


Debemos esperar a
que esta herramienta
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.

Nuestra contraseña está crackeada. Para verla simplemente debemos utilizar elcomando –
show de la siguiente manera: john --show password.txt

Nuestra contraseña era «example». Ya podemos intentar iniciar sesión en el sistemacon el


usuario «user» y la contraseña «example», o por lo menos, podríamos hacerlosi 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 vamosa dejar
un pequeño reto para practicar con este programa, copiando exactamente uncaso práctico
de un archivo /etc/shadow:

redeszone:$6$85X6KHD9$10GCEYlO7fVYKh4kIIaiEN37zCB/ROaG1hYmLYane90m1teephQHEhWVx
/grdlB/cgg/1cfEuMIt2UUIllQkI.

Una vez que hemos aprendido a crackear contraseñas por fuerza bruta, vamos aprobar a
crackear contraseñas por diccionario.
Crackear contraseñas usando undiccionario 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

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 muestreel resultado.

john --show password.txt

Tal y como habéis visto, crackear contraseñas con John the Ripper es realmente sencillo, la
rapidez del crackeo dependerá de nuestro procesador, el método empleado para intentar
crackear las contraseñas, y también la complejidad y la longitud de la contraseña que
queramos crackear. Otro programa que os recomendamos para crackear contraseñas es
Hashcat, un programa bastante másavanzado que este programa, pero bastante más
complejo de utilizar si no te lees ladocumentación oficial, además, este programa Hashcat
nos permite utilizar la potencia de los procesadores de las tarjetas gráficas (GPU) para probar
millones decontraseñas por segundo.

También podría gustarte