unshadow: El puente entre /etc/passwd y /etc/shadow
June 09, 2025
unshadow es una pequeña gran herramienta que permite combinar la información de /etc/passwd y /etc/shadow en un solo archivo entendible por herramientas de cracking como John The Ripper 🦷💥
🧠 ¿Qué hace exactamente?
Los sistemas Linux separan los datos de usuario y de contraseñas cifradas en dos archivos distintos: /etc/passwd y /etc/shadow.
unshadow se encarga de fusionarlos en una sola línea por usuario, formando un archivo con formato especial que john puede procesar para hacer fuerza bruta o ataques de diccionario.
🛠️ Uso básico
unshadow /etc/passwd /etc/shadow > hashes.txt
Esto generará un archivo llamado hashes.txt con las entradas combinadas de usuarios y sus hashes.
📄 Ejemplo de salida
usuario:$6$salt$hash:1000:1000:Comentario:/home/usuario:/bin/bash
usuario: nombre del usuario$6$salt$hash: hash SHA-512 (por el prefijo$6$)1000:1000: UID y GID- Resto: info del usuario
💣 ¡Y a crackear!
Una vez que tienes el archivo, úsalo con john:
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
Puedes ver los resultados con:
john --show hashes.txt
🔒 ¿Y si no soy root?
¡Aquí viene lo bueno! Solo el usuario root o alguien que haya conseguido escalación de privilegios podrá acceder a /etc/shadow.
Pero si logras eso… ¡tienes vía libre para el cracking! 😼🕳️
🛡️ Recomendaciones de defensa
- Asegurar que
/etc/shadowtenga permisos640o más restrictivos - Usar hashing fuerte (
SHA-512,yescrypt) - Monitorear cambios sospechosos en estos archivos
- Aplicar bloqueo tras intentos fallidos de login
✨ Conclusión
unshadow es como un traductor entre el mundo de Linux y las herramientas de cracking.
Te permite convertir dos archivos vitales del sistema en un objetivo listo para romper.
“Donde hay hashes… hay una oportunidad.” — l1ttl3bugc4t