Dudas sobre John the Ripper.

Páginas: (1/2) > >>

Tachikomaia:

Por ahora lo más claro que vi es esto:
https://www.freecodecamp.org/espanol/news/como-descifrar-contrasenas-usando-john-the-ripper-tutorial-de-pentesting/

Dice que en el link están los binarios ¿se refiere a programas?

De Windows dice que recomienda esto:
https://hashsuite.openwall.net/
¿Es gratis?

"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?

Habla de un zip ¿para un rar es lo mismo?

Citar
--
$ zip2john file.zip > zip.hashes
--
¿En mi caso sería
$ rar2john file.rar > rar.hashes
?

¿Luego sólo pongo
$john rar.hashes
?
¿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?

Buscaré más tutoriales pero realmente lo que vi por ahora no ha sido muy claro.

EdePC:

Citar
--
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.7z

Jhon The Ripper para Windows de 64-bit:
https://www.openwall.com/john/k/john-1.9.0-jumbo-1-win64.7z

Citar
--
¿Es gratis?
--

- Si

Citar
--
"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

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

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

Citar
--
¿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: 1234
2. 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:

Citar
--
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.hashes

Citar
--
C:\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):

Citar
--
!"#$%&'()*+,-./
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

Tachikomaia:

Muy bueno.

No tenía idea, verdad, lo más parecido era haber usado DOS pero ahí sólo se abren exes o se ponía dir, etc, nunca había visto que un programa se use de ahí sin interfase.

En mi caso si entendí bien la 1era vez tardó 1 minuto y 16 segundos, probando 157 C/s.

Con incremental 1 segundo probando 53.66 C/s.

No me deja expandir hacia los costados la pantalla del cmd y no puedo ver el texto que está en líneas muy largas.

A ver que algo falló:
- Puse mi archivo en run.
- Puse rar2john archivo.rar > rar.hashes
Me aparecieron los nombres de las cosas que no puedo extraer.
- Luego...

¿Será porque puse 4 y 4? Es para ir descartando, así la próxima inicio desde 5 ¿no es buena idea?

EdePC:

Ah, pues pasa que me comí un -, hay que tener cuidado con la cantidad exacta de guiones, los espacios y todo eso. Para tu caso deberías poner:

john --incremental=digits --min-length=4 --max-length=4 rar.hashes

Esa sería la forma completa que al final toma John y se puede ver en el archivo john.log, si se entiende inglés puede ayudar mucho por ser muy descriptivo, pero también está la forma abreviada:

john -inc=digits -min-len=4 -max-len=4 rar.hashes

Se puede ver que solo requiere de un - inicial, además abrevia a solo 3 letras los parámetros (salvo que tengan un - en medio como -min-len, ahí se abrevia cada subpalabra a 3 letras), incluso se puede combinar ambas formas (no abreviadas y abreviadas), John interpreta las abreviaciones y las expande para utilizar internamente la forma no abreviada, algo similar pasa con el : y el =, el detalle es que el : se puede usar en Reglas (rules) puede llevar a malentendidos así que pienso que es mejor usar siempre =

---
Para complementar, en el mensaje anterior puse al final otro método de crackeo: Máscara (mask) que sería algo más detallada que el método incremental, para lo mismo que quieres hacer sería:

john --mask=?d?d?d?d rar.hashes

?d Corresponde a dígitos del 0 al 9 (0 ... 9), como se pusieron 4 seguidos implica que usarán exactamente cuatro caracteres números, del 0000 al 9999 similar al método Incremental de dígitos con restricción de cantidad de caracteres a cuatro

?l Corresponde a las letras minúsculas: a ... z
?u Corresponde a las letras mayúsculas: A ... Z

Y para finalizar también te muestro como afinar la máscara especificando el juego de caracteres a utilizar entre corchetes [], y combinándolo con tamaños mínimos y máximos, para tu ejemplo:

john --mask=[0123456789] --min-length=4 --max-length=4 rar.hashes

Abreviado:
john -mas=[0123456789] -min-len=4 -max-len=4 rar.hashes

Si por ejemplo sabes que no usas el número 6 porque es del diablo :xD, ni el 7 porque no te trae buena suerte, también quitemos el 0:

john --mask=[1234589] --min-length=4 --max-length=4 rar.hashes

Puedes hacer lo mismo con letras o caracteres especiales si aún no lo has probado, por ejemplo si creo un archivo con contraseña: 5_8@7 puedo pensar en que puedo trabajar con una contraseña de 5 caracteres que saber que tiene un @, un _ y son solo números del 3 al 8:

Citar
--
C:\Users\EdSon\Desktop\john-1.9.0-jumbo-1-win64\run>john --mask=[@_345678] --min-length=5 --max-length=5 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
5_8@7            (adobe.rar)
1g 0:00:00:18 DONE (2024-04-20 08:43) 0.05379g/s 1349p/s 1349c/s 1349C/s @@5@7..888@7
Use the "--show" option to display all of the cracked passwords reliably
Session completed
--

18 segundos a 1349 contraseñas por segundo, ya no me da tiempo pero se puede acelerar más el proceso si usamos aceleración por GPU para usar una tarjeta de video compatible en lugar que el microprocesador porque se supone es muuucho más veloz

Tachikomaia:

A estas alturas nada recuerdo de la contraseña, pero una opción para poner los caracteres que se descartan sería mejor ¿hay? Igual no sé si quiero escribir ahí (mira que escribo mucho, pero en sitios cómodos y cosas que sé), pero imaginate que no parece buena idea escribir la mayoría de los símbolos cuando bastaría con escribir sólo los raros.

¿No se pueden poner en un archivo txt o similar y que los use de ahí? Sería más cómodo, si quiero agregar alguno, sino tengo que escribir todo de nuevo.

Páginas: (1/2) > >>