Blog

Acceso a Sistemas – Atacando GRUB 1 y 2

Buenas a todos, en este post vamos a ver cómo podríamos atacar un sistema y obtener acceso al mismo en caso de tener acceso físico a él, siempre y cuando tuviera GRUB instalado (MUY habitual en sistemas como Ubuntu o cuando tenemos varios SOs). Primero de todo vamos a ver para aquellos que no lo sepan que es GRUB…

Según la Wikipedia: ” GNU GRUB (GNU GRand Unified Bootloader) es un gestor de arranque múltiple, desarrollado por el proyecto GNU que se usa comúnmente para iniciar uno, dos o más sistemas operativos instalados en un mismo equipo.

Se usa principalmente en sistemas operativos GNU/Linux. El sistema operativo Solaris ha usado GRUB como gestor de arranque en sistemas x86desde la revisión 10 1/06. “

Una vez hemos visto que es vamos a ver como podríamos atacarlo para obtener acceso al sistema. En este caso vamos a hacer las pruebas sobre la versión 2 de GRUB aunque sería igual para la 1. Lo primero que vemos cuando nos aparece GRUB es lo siguiente…

grub_1

 

Donde normalmente se nos da a elegir el sistema operativo que queremos seleccionar. En este caso nosotros solo tenemos instalado un Ubuntu como podemos observar. Pues bien si pulsamos la ‘e’ estando seleccionado el sistema operativo sobre el que queremos tener acceso o atacar nos sale la siguiente pantalla…

grub_2

 

En ella vemos la configuración con la que se va a arrancar el SO, si seguimos bajando vemos una línea marcada que es “ro splash…”…

grub_3

 

Pues bien, debemos modificar esa línea por la siguiente, la cual indica que queremos que inicie el sistema como una terminal en bash…

grub_4

 

Después de esto únicamente pulsamos sobre CTRL+X y inicia el SO con esa configuración, tras cargar todo vemos que nos devuelve una shell como root…

grub_6

 

Con lo que podríamos acceder a todo el sistema de archivos, podríamos por ejemplo utilizar el comando “passwd” para cambiar la contraseña de root y poder ejecutar de nuevo el SO con la nuevo contraseña, leer los archivos de contraseñas como /etc/passwd y /etc/shadow, etc… Otra de las cosas que podríamos hacer seria cambiar los permisos de algún usuario (imaginemos que tenemos un usuario no privilegiado y queremos elevar privilegios), una opción sería ir al archivo /etc/sudoers y cambiar los programas que podemos ejecutar con “sudo” con permisos de root por todos. Para cambiar los permisos de un usuario podríamos cambiar lo siguiente (En este caso para el usuario “anansi”)…

grub_7

grub_8

 

Una vez hecho esto en el SO tendríamos los mismos privilegios, pero si pusiéramos “sudo su” podríamos hacernos root sin ningún problema, teniendo acceso a todo el PC.

Hasta aquí hemos visto una parte importante de como atacar un sistema con GRUB, pero otra forma seria pulsar ‘c’ cuando nos da elegir qué sistema operativo queremos arrancar para que GRUB nos lance una consola de GRUB…

grub_9

 

Con este shell podemos ejecutar una serie de comandos interesantes como “ls” y “cat” sobre cualquier directorio y fichero respectivamente sin importar los permisos que tenga. Para hacer esto es importante saber en qué partición están los archivos, por defecto la partición principal se encuentra en (hd0,msdos1), por lo que podríamos leer los archivos /etc/passwd y /etc/shadow de la siguiente manera…

grub_10

grub_12

grub_13

 

Con esto podríamos utilizar el programa “John the Ripper” o hacer búsquedas en Google para descifrar las contraseñas de los usuarios, consiguiendo también de esta forma acceso al PC.

Ya hemos visto dos formas de utilizar GRUB para conseguir acceso al sistema operativo que queramos (No funciona para los equipo Windows) además de una forma de poder elevar privilegios. Esto se podría solucionar introduciendo una contraseña al GRUB (Cosa no muy habitual en ámbitos normales).

Espero que os haya gustado el post!

Un saludo,

Eduardo – eduardo@highsec.es – @_Hykeos

  1. BTshell
    BTshell07-22-2013

    Como de costumbre, muy interesante y muy bueno Edu, Thank You

  2. R0dw3
    R0dw307-22-2013

    Muy bien Edu! Buen post! 🙂

  3. Andres
    Andres07-22-2013

    Interesante post y bien explicado.

    Gracias

    Saludos desde Colombia

  4. Miguel Ángel
    Miguel Ángel07-23-2013

    Muy buen artículo.

    Me asalta la duda si podría hacerse lo mismo con un disco particionado con LVM y cifrado, ya que entiendo que nos pedirá el password antes de poder acceder a la consola.

    Un saludo!

Leave a Reply

*

    No Twitter Messages