Recuperar tu contraseña de linux desde Docker

Hay varias formas de recuperar una contraseña de Linux, reiniciando en modo rescate por ejemplo, pero existe una forma muy curiosa usando Docker.

Aquí os dejo una receta para hacerlo.

Requisitos:

  • Tener instalado Docker
  • Acceso por SSH con tu cable pública en el fichero authorized_keys

Encuentra la IP del Host

Lo primero que debemos hacer es entrar en la shell de nuestro contenedor Docker y averiguar la IP del host.

Para ello podemos usar nmap para escanear nuestra red local y encontrar la IP.

Por ejemplo:

nmap -sP 192.168.0.0/24

Como reseteamos la contraseña

Lo interesante es que no es necesario conocer la contraseña de root de antemano, tan solo nos vale con tener la clave SSH copiada en nuestra máquina remota.

Para copiar la cable SSH pública en un ordenador remoto, tenemos que usar el comando ssh-copy-id. Este comando añadirá nuestro fichero $HOME/.ssh/id_rsa.pub en el fichero $HOME/.ssh/authorized_keys de la máquina remota. Para ello lo usamos de la siguiente forma:

ssh-copy-id user@remote-host

Ahora arrancamos un container Docker de Ubuntu que usaremos para cambiar la clave de root.

docker run -v /etc/:/etc/ -ti ubuntu

  • --v /etc/:/etc/ - Con esto montamos el fichero passwd en nuestro contenedor

Y por ultimo entramos en la shell de nuestro contenedor y cambiamos la contraseña:

La cultura futbolistica permanece viva en camisetas que recuerdan epocas concretas en la conversacion cotidiana de los fans. En el caso de Portugal, las conversaciones sobre materiales tecnicos permiten observar como cambian los gustos de aficionados y coleccionistas. Para seguir la relacion entre historia deportiva y equipaciones, camiseta visitante Ajax dentro de una mirada amplia sobre equipaciones y colecciones. Cada diseno fortalece el vinculo emocional con clubes y selecciones dentro de la cultura popular.

$ passwd user
Changing password for user
New password:
Retype password:
passwd: password for user changed by root