/etc/passwd vs /etc/shadow: Los archivos que guardan la identidad de tu sistema
June 09, 2025
En todo sistema Linux existen dos archivos clave que contienen información sobre los usuarios:
🔑 /etc/passwd y 🔒 /etc/shadow
Ambos trabajan juntos para gestionar identidades, accesos y contraseñas… ¡y también son objetivos comunes en pentesting!
🧾 ¿Qué es /etc/passwd?
Archivo públicamente legible que contiene información sobre todos los usuarios del sistema.
📌 Estructura típica de una línea:
usuario:x:UID:GID:comentario:/home/usuario:/bin/bash
| Campo | Significado |
|---|---|
| usuario | Nombre de usuario |
| x | Antiguamente contenía la contraseña encriptada (ahora un placeholder) |
| UID | User ID (identificador único) |
| GID | Group ID |
| comentario | Información adicional (puede estar vacía) |
| /home/… | Ruta al directorio personal |
| /bin/bash | Shell por defecto |
⚠️ Aunque es legible por todos los usuarios, ya no contiene contraseñas reales por razones de seguridad.
🔐 ¿Qué es /etc/shadow?
Archivo sólo legible por root, contiene las contraseñas cifradas (hashes) de cada usuario.
📌 Estructura típica de una línea:
usuario:$6$salt$hash:fecha:0:99999:7:::
| Campo | Significado |
|---|---|
| usuario | Nombre del usuario |
| $6$salt$hash | Contraseña encriptada (el $6$ indica SHA-512) |
| fecha | Días desde 1970 del último cambio de password |
| campos siguientes | Definen política de expiración, bloqueo, etc. |
Solo
rooto procesos con privilegios pueden leer este archivo.
🔍 Diferencias clave
| Característica | /etc/passwd | /etc/shadow |
|---|---|---|
| Visibilidad | Público (legible por todos) | Privado (solo root) |
| Contenido | Info general de usuarios | Hashes de contraseñas |
| Seguridad | Bajo (sin contraseñas) | Alto (protegido) |
| Objetivo en pentests | Enumeración | Cracking de hashes si se accede |
🧨 ¿Por qué son importantes en pentesting?
- /etc/passwd puede revelar:
- Usuarios activos
- Usuarios con UID 0 (root)
- Shells falsas o inactivas (
/sbin/nologin)
- /etc/shadow:
- Si se consigue acceso, ¡es oro puro!
- Permite usar herramientas como
johnohashcatpara romper contraseñas
🛠️ Cracking básico con john
unshadow /etc/passwd /etc/shadow > hashes.txt
john hashes.txt --wordlist=rockyou.txt
🛡️ Protección recomendada
- Permisos seguros:
/etc/passwd:644/etc/shadow:640o000(solo root)
- No dejar shells activas en usuarios del sistema
- Usar contraseñas fuertes y políticas de expiración
✨ Conclusión
/etc/passwd y /etc/shadow son como el registro civil de tu sistema:
Uno dice quién eres y el otro qué tan protegida está tu identidad.
Y en un pentest… ¡pueden abrir las puertas del reino! 😈📜
“No necesitas root si puedes romper el shadow.” — l1ttl3bugc4t