Quita el disco del ordenador objetivo y móntalo en tu ordenador. Navega al punto de montaje y luego ejecuta cat /etc/shadow. Este archivo almacena las contraseñas de los usuarios en el sistema, por lo que necesitamos encontrar el nombre de usuario de nuestro objetivo, o aún mejor, simplemente podemos tomar el Usuario Dios (root).
Así que ejecutaré un comando que me muestre solo la línea del usuario root:
sudo cat /mount_point/etc/shadow | grep root
Lo que nos interesa es el hash: $5$858sVmZDys$86Ls2dNBd2/EkGRkJz4IjGYi2yC1g11XIAY/EpKSYP3
Las partes están separadas por el signo de dólar $:
Así que vamos a separar nuestro hash:
Ejecuta el siguiente comando para generar un nuevo hash con la contraseña que desees:
openssl passwd -5 -salt 858sVmZDys Mi_Contraseña
Cambiamos el número 5 (primera parte) por nuestro algoritmo deseado, y la cadena después de -salt por la sal de nuestro hash (segunda parte). Para más algoritmos, consulta esta tabla:
El comando anterior generará nuestro nuevo hash completo, para el cual solo necesitamos reemplazar la tercera parte, así que podemos hacer lo siguiente:
sudo sed -i 's$86Ls2dNBd2/EkGRkJz4IjGYi2yC1g11XIAY/EpKSYP3$Nuevo_Hash_Aquí$' /mount_point/etc/shadow
O simplemente abre tu editor preferido con sudo y edita el hash codificado.
Creo que por eso es bastante importante encriptar nuestro disco con LUKS. Si no lo hacemos, obviamente también podemos acceder a cualquiera de los archivos sin siquiera cambiar la contraseña. Por otro lado, esta es una forma realmente útil de recuperar una contraseña olvidada, así que tenlo en cuenta. 😉
Jorge García
Fullstack developer