El archivo /etc/shadow es un fichero que utiliza Unix para guardar las contraseñas en un formato cifrado. Su protección y correcta configuración es clave para evitar una escalación de privilegios. En este caso podemos ver que en este sistema somos el usuario "user".
Con "ls -l" podemos chequear quien puede leer y escribir el archivo /etc/shadow
Podemos ver que es legible por todos.
Esta falla de seguridad (gravísima) nos permite acceder al hash de la contraseña del usuario root.
El cual podemos extraer y copiar para nosotros.
Creamos el archivo y lo crackeamos con John The Ripper.
Una contraseña insegura (password123) nos permite crackear con facilidad el hash.
Nos logueamos y somos root.
Otro caso grave del archivo /etc/shadow no es que solo sea legible para todos los usuarios sino que sea MODIFICABLE.
En este caso vemos que podemos, siendo usuarios sin privilegios, modificar el archivo /etc/shadow
Podemos crear, entonces, un hash de una contraseña que querramos. Abrir Nano y colocarla dentro del archivo /etc/shadow reemplazando el hash de la contraseña de root.
Cuando Root se loguee su contraseña no va a estar contrastada con el hash de /etc/shadow, porque lo hemos cambiado.
Es importante proteger contra los usuarios sin privilegios el archivo /etc/shadow; tambien es importante hacerlo con el archivo /etc/passwd que cumple las mismas funciones (un poco más extensas).
NOTA: Todas estas pruebas fueron realizado en la página TryHackMe, un sitio que ofrece entornos controlados para practicar pentesting..
Estos procedimientos no deben realizarse a equipos ajenos sin una previa autorización.