Descifrar Hash de Clave SSH con John the Ripper
Con el hash extraído, es hora de usar John the Ripper para descifrarlo. Realizaremos un "ataque de diccionario", donde john prueba cada palabra de una lista dada como una posible frase de contraseña. Para este laboratorio, utilizaremos el archivo wordlist.txt que se creó previamente en su entorno.
En un escenario del mundo real, los atacantes utilizan listas de palabras masivas que contienen millones de contraseñas comunes, nombres y palabras de diccionario. Nuestra lista de palabras simple contiene la frase de contraseña correcta, labex, lo que garantiza que el descifrado será exitoso para esta demostración.
Ejecute el comando john, especificando la lista de palabras y el archivo hash:
john --wordlist=wordlist.txt ssh_hash.txt
John iniciará el proceso de descifrado. Dado que la frase de contraseña está en nuestra corta lista de palabras, se encontrará casi al instante.
Using default input encoding: UTF-8
Loaded 1 password hash (SSH [RSA/DSA/EC/OPENSSH private keys ssh2john])
Cost 1 (KDF/cipher) is 0 for all loaded hashes
Cost 2 (iteration count) is 16 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
labex (my_ssh_key)
1g 0:00:00:00 DONE (2023-01-01 12:05) 12.50g/s 12.50p/s 12.50c/s 12.50C/s sunshine..labex
Use the "--show" option to display all of the cracked passwords reliably
Session completed
¡Éxito! La línea de salida labex (my_ssh_key) muestra que la frase de contraseña labex se recuperó con éxito para la clave my_ssh_key.
John the Ripper guarda las contraseñas descifradas en un archivo llamado "pot file" (~/.john/john.pot por defecto). Para ver la contraseña descifrada nuevamente sin volver a ejecutar el ataque, puede usar la opción --show:
john --show ssh_hash.txt
my_ssh_key:labex
1 password hash cracked, 0 left
Esto confirma la frase de contraseña descifrada. Ahora ha descifrado con éxito una frase de contraseña débil de una clave SSH.