En el post de hoy, os vamos a enseñar como conseguir acceso root sin tener las credenciales de dicho usuario, a través del gesto de arranque grub en linux.
Para ello, lo que haremos será modificar unas líneas en grub para que en lugar de realizar un arranque convencional, se ejecute una Shell con los privilegios de un super usuario. Para abrir la terminal de grub, debemos pulsar la tecla e en la pantalla de selección de OS a arrancar.
Esta acción, nos abrirá una terminal de grub editable. Para obtener esta shell de super usuario, arrancaremos el núcleo de Linux en modo escritura y ejecutar una sesión sh. Para ello añadiremos el comando
rw single init=/bin/bash
Como vemos en la siguiente imagen
En este caso se ha utilizado una distro ubuntu, pero dependiendo de la distro utilizada, puede ser que donde vemos en la imagen rw, nos aparezca ro quiet, en este caso, sustituiremos esas dos palabras por el comando mencionado anteriormente.
Una vez, haya arrancado el sistema, aparecerá el símbolo #, lo que indicará que tenemos a nuestra disposición un prompt con el rol de super usuario, tendremos todas las particiones montadas y la posibilidad de realizar cambios en el sistema.
De todas formas, hay algunas funciones que no estarán disponibles, como por ejemplo el autocompletado de nombres. Dejando a un lado esto, haremos aquello que queríamos conseguir, acceso como root en el sistema linux.
Para ello, deberemos editar el fichero passwd(situado en /etc/passwd), que contiene la contraseña de nuestro superusuario con el comando
passwd root
Introduciremos dos veces la nueva contraseña y reiniciaremos el sistema. A partir de ahora, tenemos acceso total al sistema.
Aviso, esto no esta siendo compartido con fines ilegales, la única intención es la de prevenir de posibles fallos de seguridad en los sistemas operativos y compartir el preciado bien del conocimiento.
Aclarado este tema, esto es todo por ahora, próximamente publicaré un post explicando como poder protegernos de este tipo de ataques. Como siempre comenten su opinión, dudas, sugerencias.
Me puedes pasar el link para protegernos de esta vulnerabilidad? O sea que no se pueda cambair la contraseña root desde la grub, gracias
Hola Emanuel,
Para evitar cambiar la contraseña desde el grub, tan sólo tienes que editar el fichero de configuración en /etc/default/grub y añadir las siguientes directivas:
GRUB_DISABLE_LINUX_RECOVERY=”true”
GRUB_DISABLE_RECOVERY=”true”
Y una vez añadida recargar la configuración de grub.
En el caso de distribuciones basadas en debian con el comando
sudo update-grub
En el caso de distribuciones basadas en centos con el comando
sudo grub2-mkconfig -o "$(readlink /etc/grub2.cfg)"
Espero haber resuelto tu duda y si necesitas algo más al respecto no dudes en preguntarlo.
Saludos
Hola,
Me parece muy útil el artículo, aunque en Debian 10, todo e introducir las directivas indicadas en el GRUB, puedo continuar cambiando la contraseña.
Un saludo