En este artículo, veremos cómo obtener los hashes de las contraseñas de un sistema Linux y descifrar los hashes utilizando probablemente la herramienta de descifrado de contraseñas más utilizada, John the Ripper.
Requerimientos:
- Kali Linux – Attacker
- Maquina Linux – Donde están los usuarios.
Resposabilidad:
En este tutorías utilizaremos técnicas de hacking, con el único fin de aprendizaje. No promovemos su utilización ni con fines lucrativos o incorrectos. No nos hacemos responsables de cualquier daño o menoscabo que pueda generar en los sistemas utilizados. La responsabilidad es absoluta del usuario de este tutorial.
Conocimientos:
- Linux – Bajo
- Programación – Bajo
- Kali Linux – Medio
- Redes – No aplica
Empezamos:
Dónde se almacenan las contraseñas de Linux
Las contraseñas de Linux se almacenan en el archivo /etc/passwd en texto claro en los sistemas antiguos y en el archivo /etc/shadow en forma de hash en los sistemas más nuevos. Deberíamos esperar que las contraseñas en cualquier cosa que no sean sistemas antiguos se almacenen en /etc/shadow.
Crear algunas cuentas de usuario
Dado que nuestro sistema BackTrack probablemente no tiene muchos usuarios en él aparte de nuestra cuenta raíz, vamos a seguir adelante y crear un par de cuentas más.
Vamos a crear el usuario1 con la contraseña «flower» y el user2 con la contraseña «hacker».

He elegido a propósito palabras de diccionario, ya que la complejidad de la contraseña está inversamente relacionada con el tiempo necesario para descifrarla. Una de las buenas características de John the Ripper es que intentará utilizar primero un ataque de diccionario. Si eso falla, intentará un ataque híbrido. Y sólo si eso falla, intentará un ataque de fuerza bruta, que es el que más tiempo consume.
Abrir John the Ripper
Ahora que tenemos un par de usuarios regulares en nuestro sistema con contraseñas simples, necesitamos abrir John the Ripper. John the Ripper es un simple, pero poderoso descifrador de contraseñas sin una GUI (esto ayuda a hacerlo más rápido ya que las GUIs consumen recursos).
Podemos acceder a él desde BackTrack yendo al botón BackTrack en la parte inferior izquierda, luego Backtrack, Privilege Escalation, Password Attacks, Offline Attacks, y finalmente seleccionar John the Ripper de las múltiples herramientas de cracking de contraseñas disponibles.

Si ha seleccionado la opción de menú correcta, se abrirá un terminal con el siguiente aspecto.

Por cierto, siéntase libre de cerrar nuestro terminal anterior, ya que hemos terminado con él.
Probar a John the Ripper
En el prompt, escriba:
bt > john -test
Este comando enviará a John the Ripper a través de una variedad de pruebas de referencia para estimar cuánto tiempo le tomará romper las contraseñas de su sistema. Su terminal se verá así.

Ahora que John ha calculado el tiempo que tardará en descifrar cada uno de los esquemas de encriptación, pongámoslo a trabajar para descifrar nuestras contraseñas.
Copiar los archivos de contraseñas a nuestro directorio actual
Linux almacena sus contraseñas en /etc/shadow, así que lo que queremos hacer es copiar este archivo a nuestro directorio actual junto con el archivo /etc/passwd, luego «unshadow» y almacenarlos en un archivo que llamaremos passwords. Así que, vamos a escribir ambos:
bt > cp /etc/shadow ./ bt > cp /etc/passwd ./

En Linux, el comando cp significa copiar y el ./ representa nuestro directorio actual. Así que este comando dice, copia el contenido de /etc/shadow a mi directorio actual. Hacemos lo mismo con el archivo /etc/passwd.
Unshadow
A continuación necesitamos combinar la información de los archivos /etc/shadow y /etc/passwd, para que John pueda hacer su magia.
bt > ./unshadow passwd shadow > passwords

¡Crack!
Ahora que hemos liberado los archivos críticos, podemos simplemente dejar que John se ejecute en nuestro archivo de contraseñas.
bt > john passwords

John the Ripper procederá a intentar descifrar sus contraseñas. Como puedes ver, ¡descifró las tres nuestras en cuestión de segundos! Por supuesto, las contraseñas más complejas llevarán bastante más tiempo, pero todo lo que necesitamos es un solo usuario con una contraseña simple y tenemos acceso a la cuenta en segundos.

También es importante tener en cuenta que cualquier descifrador de contraseñas es tan bueno como su lista de palabras. Para contraseñas más complejas o híbridas, probablemente quieras usar una lista de contraseñas que contenga muchas más contraseñas, incluyendo contraseñas híbridas como «p@$$w0rd» que combinan caracteres especiales en palabras.
Espero que les haya gustado esta tecnica y que les sirva de ayuda.