Dice que en el link están los binarios ¿se refiere a programas?
- Si, cuando leas: binarios, y siendo simplistas se refiere a los ejecutables, al .exe en caso de Windows
Jhon The Ripper para Windows de 32-bit:
https://www.openwall.com/john/k/john-1.9.0-jumbo-1-win32.7zJhon The Ripper para Windows de 64-bit:
https://www.openwall.com/john/k/john-1.9.0-jumbo-1-win64.7z¿Es gratis?
- Si
"Una vez que hayas instalado John, prueba el comando help"
¿Abro el programa y lo puedo escribir ahí o es en el cuadro de texto del menú inicio?
- No, Jhon The Ripper es un programa por línea de comandos (no tiene interfaz gráfica), necesitas un intérprete de comandos para utilizarlo, lo más común y sencillo es usar la CMD de Windows, mediante el intérprete o consola o símbolo del sistema se puede dar parámetros y opciones al programa para que funcione, a su vez será el intérprete el que muestre los resultados del programa.
---
Yo veo que no tienes ni idea de programas por línea de comandos XD, hay mucho por aprender pero vayamos por lo justo y necesario para trabajar con John
1. Abrir una CMD, primero debes entender un par de cosas:
- La ruta actual, es la carpeta donde estás actualmente, todo lo que haya en esa carpeta está a tu disposición con tan solo nombrarlo porque es como si literalmente tuvieras una ventana de tu explorador de archivos mostrando el contenido de una carpeta, y todo lo que esté ahí está al alcance de un doble click
-- Adicionalmente está el símbolo > que separa la parte de la Ruta actual de la parte donde puedes escribir tus comandos, llamadas a programas, etc, y el cursor que indica donde se situarán los caracteres que empieces a escribir, puedes usar las teclas de las flechas izquierda y derecha para mover el cursor y situarlo donde lo necesites
- Abrir una CMD en la ruta que quieras, para esto simplemente debes abrir la carpeta objetivo, dirigirte a la barra de direcciones, escribir CMD y presionar Enter, eso abre una CMD con ruta actual igual a la carpeta donde lo abriste. En el segundo 29 del gif se muestra esto.
Extraer, abrir la carpeta donde se ubica John.exe, abrir una CMD en esa ruta y ejecutar la ayuda de John-- La carpeta doc contiene la documentación de varios aspectos de John, está en inglés y es algo técnica, la carpeta etc trae los archivos necesarios para usar la aceleración gráfica, y la carpeta run tiene todos los ejecutables que forman parte del paquete Jumbo de John incluido al propio john.exe, zip2john.exe, rar2john.exe, etc
-- Recuerda que siempre puedes descargar el GIF y abrirlo con un reproductor de videos decente como K-Lite (Media Player Classic) o VLC para pausar, avanzar y demás cosas que se pueden hacer con un video
¿En mi caso sería
$ rar2john file.rar > rar.hashes
- Si, como ya mencioné, dentro del paquede Jumbo de John hay un rar2john.exe que sirve para extraer el Hash a crackear de un archivo .RAR
-- $ corresponde al prompt de Linux, para el caso de Windows sería el > que está al final de la ruta actual
-- rar2john es el ejecutable o programa o comando al que llamar
-- file.rar es el archivo .rar que tiene contraseña
-- > es un redireccionador, no confundirlo con el primer > que siempre está al final de la Ruta actual. Este > sirve para enviar lo que se debería mostrar por pantalla a un archivo, en este caso al archivo rar.hashes
- Cuando pulses Enter luego de introducir:
rar2john file.rar > rar.hashes se llamará a ejecutar al programa rar2john.exe y se le pasarán los parámetros y opciones indicadas, en este caso un archivo file.rar, como ya dije, rar2john toma un archivo .rar con contraseña, extrae el Hash a cracker de él y lo muestra en pantalla. El redireccionador > evita que el resultado se muestre en pantalla y lo escribe en su lugar a un archivo rar.hashes que luego puedes abrir con tu bloc de notas o ejecutando un comando para ver su contenido (type rar.hashes)
-- Se entiende que rar2john.exe está en la ruta actual o es accesible, sino da error porque el CMD no sabe donde está, pasa igual con file.rar, rar.hashes será un archivo que se va a crear, por eso no importa si existe o no, lo que va a pasar es que se creará en la ruta actual, si existe se sobreescribe, si no existe se crea automáticamente
¿Luego sólo pongo
$john rar.hashes
- Claro, luego de haber obtenido el Hash crackeable del .rar con contraseña ya se lo puedes pasar a john.exe para que lo trabaje, john tiene muchas configuraciones por defecto que las usará si no las especificas, por ejemplo
john rar.hashes primero revisará el archivo rar.hashes para saber que tipo de hash es y proceder a crackearlo con una configuración por defecto pero suele ser para nada eficiente dependiendo de la contraseña, siempre es mejor ser lo más precisos posibles
¿Qué pasó con el modo incremental?
"$ john -i:digits passwordfile.txt"
¿Si quiero hasta 5 dígitos pongo:
"$ john -i:5 passwordfile.rar"
?
¿Se puede establecer el mínimo?
1. Que mejor que hacer un experimento de ejemplo, crea un archivo .rar de nombre:
protegido.rar y con contraseña:
12342. Lleva ese
archivo .rar a la carpeta
run de John
3. Abre una CMD en la carpeta run (segundo 29 del GIF)
4. Ejecuta:
rar2john protegido.rar > rar.hashes- Ahora las pruebas, primero ejecuta:
john rar.hashes-- En mi caso obtengo:
C:\Users\EdSon\Desktop\john-1.9.0-jumbo-1-win64\run>john rar.hashes
Warning: detected hash type "RAR5", but the string is also recognized as "RAR5-opencl"
Use the "--format=RAR5-opencl" option to force loading these as that type instead
Using default input encoding: UTF-8
Loaded 1 password hash (RAR5 [PBKDF2-SHA256 256/256 AVX2 8x])
Cost 1 (iteration count) is 32768 for all loaded hashes
Will run 8 OpenMP threads
Proceeding with single, rules:Single
Press 'q' or Ctrl-C to abort, almost any other key for status
Almost done: Processing the remaining buffered candidate passwords, if any.
Warning: Only 29 candidates buffered for the current salt, minimum 64 needed for performance.
Proceeding with wordlist:password.lst, rules:Wordlist
1234 (protegido.rar)
1g 0:00:00:09 DONE 2/3 (2024-04-17 08:38) 0.1109g/s 1355p/s 1355c/s 1355C/s 123456..franklin
Use the "--show" option to display all of the cracked passwords reliably
Session completed
-- Me dice que ha aplicado un diccionario (wordlist) por defecto que ya trae john: password.lst (que también puedes encontrar en la carpeta run y abrir con un bloc de notas), además ha aplicado Reglas para variar las palabras de ese diccionario, una línea más abajo me muestra la contraseña que a conseguido, la siguiente línea me muestra el tiempo que le tomó: 9 segundos, y la cantidad contraseñas por segundo que es capaz de alcanzar con la potencia de mi PC para ese tipo de Hash (1355 contraseñas por segundos). Por último dice que usemos el parámetro --show (
john --show rar.hashes) para mostrar todas las contraseñas que ha recuperado hasta el momento
- Ahora pasemos al modo incremental para ser más específico y reducir esos 9 segundos (tengo un PC regular/decente: i7-4790)
1. Todas las contraseñas que John ha conseguido las guarda en el archivo: john.pot con todo su hash y demás. John lo va a consultar por si repetimos el mismo hash, así que hay que eliminarlo o guardarlo en otro sitio para que haga un crackeo completo desde cero
2. Ejecuta:
john --incremental rar.hashesC:\Users\EdSon\Desktop\john-1.9.0-jumbo-1-win64\run>john --incremental rar.hashes
Warning: detected hash type "RAR5", but the string is also recognized as "RAR5-opencl"
Use the "--format=RAR5-opencl" option to force loading these as that type instead
Using default input encoding: UTF-8
Loaded 1 password hash (RAR5 [PBKDF2-SHA256 256/256 AVX2 8x])
Cost 1 (iteration count) is 32768 for all loaded hashes
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
1234 (protegido.rar)
1g 0:00:00:00 DONE (2024-04-17 08:54) 1.577g/s 403.7p/s 403.7c/s 403.7C/s 123456..shomel
Use the "--show" option to display all of the cracked passwords reliably
Session completed
- Tardó 0 segundos XD, el modo incremental por defecto (
--incremental) prueba con todos los caracteres ASCII (95 en total) hasta un máximo de 13 caracteres, los caracteres son (no olvidar al espacio que está primero):
!"#$%&'()*+,-./
0123456789
:;<=>?@
ABCDEFGHIJKLMNOPQRSTUVWXYZ
[\]^_`
abcdefghijklmnopqrstuvwxyz
{|}~
- Teniendo en cuenta que la contraseña es 1234 lo más eficiente sería usar:
john --incremental:digits rar.hashes, esto solo prueba números del 0 al 9 (total 10) con tamaño máximo de 20 caracteres por defecto (0 al 99999999999999999999)
- Si lo quieres ajustar más todavía usando tamaños mínimos y máximos como por ejemplo que solo pruebe tamaños de 4 a 6 caracteres sería:
john --incremental:digits -min-len:4 -max-len:6 rar.hashes---
Puedes probar con otras contraseñas más complejas de números o letras especificando los tamaños para obtener mejores resultados.
Todo esto es el modo más automático pero John permite ser todavía más preciso usando máscaras pero como por ejemplo si sabes que la contraseña empezaba por una letra en mayúscula luego todo minúsculas y terminaba con dos números, además que en total la contraseña tenía 7 caracteres:
john --mask= ?u?l?l?l?l?d?d rar.hashes