Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


master_cs:fortificacion:p1

[FORT] Práctica 1: Fortificación del arranque de Linux

menuentry Entrada
  setroot=(hd0,msdos1)
  linux /vmlinux root=/dev/sda1
  initrd /boot/initrd.img-6.1.0-30-amd64

1. Interrumpir el booteo y conseguir la forma cifrada de la contraseña de root

Para empezar pulsaremos c durante el arranque e introduciremos los siguientes comandos en la consola de Root:

set root=hd0,msdos1
ls /
cat /etc/shadow

Con Cat podremos ver las contraseñas cifradas, incluida la de Root:

2. Conseguir Root editando los parámetros pasados al kernel cuando se bootea

Ya sea desde línea de comandos o editando el menú

Hay que cambiar el init de arranque por /bin/bash, haciendo que se arranque directamente el terminal en modo Root.

ls #Para ver las particiones
set root=hd0,msdos3 
linux /boot/vmlinux-amd64 
initrd /boot/initrd.img-6.1.0-30-amd64 root=/bin/bash 
boot

3. Definir dos superusuarios de grub y establecer contraseñas para ellos

2 en texto plano y 2 cifradas de forma que todavía existan cuando la configuración de Grub se actualiza

Primero creamos dos contraseñas almacenadas en texto plano y, tras eso, para cifrar las contraseñas se usa el comando:

grub-mkpasswd-pbkdf2

Tras eso se procede a modificar el archivo /etc/grub.d/40_custom y se añade dentro los super usuarios, en este caso tendremos user1 y user2 con contraseña segura y user3 y user4 con contraseña insegura:

Tras eso actualizamos la configuración de grub:

4. Verificar que solo el superuser de grub pueda acceder a la línea de comadnos del grub

Podemos observar que al reiniciar se nos solicita nombre y usuario para poder acceder a la terminal de grub:

5. Añade 2 entradas llamadas UserOnly y AlwaysAvailable

  • AlwaysAvailable: Puede ser arrancada por cualquiera
  • UserOnly: solo puede ser booteada por los usuarios
  • Solo los superusuarios pueden bootear las entradas restantes

Para crear las entradas debemos crear unas “menuentry” en /etc/grub.d/40_custom con las siguientes características:

menuentry "AlwaysAvaliable"{
  set root=(hd0,msdos1)
  linux /boot/vmlinux-amd64 root=/dev/sda1
  initrd /boot/initrd.img-6.1.0-30-amd64
  boot
}
menuentry "UserOnly"{
  set root=(hd0,msdos2)
  linux /boot/vmlinux-amd64 root=/dev/sda1
  initrd /boot/initrd.img-6.1.0-30-amd64
  password usuario3 1234
  boot
}
master_cs/fortificacion/p1.txt · Última modificación: 2025/02/04 16:03 por thejuanvisu