Bypasseando la protección de Grub en un disco cifrado con LUKS – PoC

Buenas a todos. En esta entrada os enseñaré cómo me las apañé para arreglar un estropicio que yo mismo me hice por no seguir los pasos al pie de la letra e ir un poco a lo loco.

Estaba poniendo un poco de protección adicional a mi portátil siguiendo los pasos de la entrada Ataque y Defensa de mi buen amigo Grub de @Hurd4n0 añadiendo una contraseña para, desde Grub, no poder modificar el script de arranque ni iniciar ningún Sistema Operativo a no ser que se tuviera un usuario autenticado. Pues bien, llegué a la parte de hashear las contraseñas con el comando “grub-mkpasswd-pbkdf2” pero olvidé cambiar el inicio de la línea del archivo /etc/grub.d/40_custom de “password”“password_pbkdf2” para que me lo interpretara como un hash, así que toda la contraseña hasheada me la interpretaba como una contraseña en texto plano. Reinicié el portátil ilusionado yo porque ya tenía un portátil un poco más seguro, pero no fue poca mi sorpresa cuando descubrí que ninguno de los usuarios con sus respectivas contraseñas funcionaba por lo dicho anteriormente, no las interpretaba como un hash sino como texto plano. No sabía dónde meterme, sinceramente. Me había cavado mi propia tumba y me había imposibilitado acceder a mi propio ordenador, pero a mí me gusta saltarme las reglas y bypassear cosas, así que ni corto ni perezoso empecé a buscar la manera de cómo volver a tener acceso a mi ordenador de forma normal.

Se me ocurrió utilizar un booteable y reinstalar el Grub de nuevo, tirando todo lo que tenía anteriormente, pero (sin saber si funcionaría, eso lo probaré en otra ocasión) me pareció demasiado fácil, y eso no era bypassear nada, así que lo descarté por completo. Seguí pensando, el login estaba nada más iniciar el ordenador así que no tenía acceso a nada, ni a una mísera consola. Así que retomé la idea del booteable pero no para reinstalar el Grub, sino para bypassearlo desde dentro. Antes de empezar, decir que si la BIOS tiene protección con contraseña, este método no serviría a no ser que se tuviera dicha contraseña o se pudiera bypassear dicha autenticación. Partamos de la base de que en mi portátil no tengo puesta contraseña a la BIOS (algo pendiente ahora que me acabo de dar cuenta).

Pues bien, nada más encenderlo empecé a pulsar F2 como un loco y me saltó el menú de la BIOS, desde donde cambié que me iniciara desde el pendrive que previamente había introducido. Guardamos cambios y salimos, e iniciamos el Live desde el pendrive.

Captura1.png
Aquí tenemos nuestro bonito Kali 2016.2 en Live

A continuación listamos los discos que tenemos con sus respectivas particiones con “fdisk -l”

Captura2-1.png

Seguidamente empezamos a crear directorios donde montar las particiones, y empezamos a montarlas. Y aquí vino mi peor momento, porque mi disco duro lo tengo cifrado y así me lo dijo el comando “mount”, y no sabía si iba a poder montarlo. Suponía que sí, pero quién sabe, paranoias que me entran en el momento. Así que busqué en Google cómo montar una partición cifrada y me topé con este artículo de ElBinario donde lo explica a la perfección, y nada, pues hice lo que me decía “cryptsetup open –type luks /dev/sda3 cifrado”, introduje la contraseña y ya casi lo tenía. Captura4-1.png

Ya solo me faltaba montarlo en el /mnt/part3 que me había creado, así que como sigue diciendo el artículo, lo monté desde /dev/mapper y listo.

Captura4-2.png

Después de eso accedí a dicha partición y busqué qué hacía el comando “update-grub” que era el que actualizaba el archivo de configuración de Grub, y yo quería toquetear ese archivo de configuración, porque cambiar el archivo /etc/grub.d/40_custom que se modifica para poner la contraseña a Grub no sirve de nada si no se hace un “update-grub” así que tenía que modificar el archivo de configuración directamente, y buscando en el archivo /etc/default/grub vi que dicho archivo era el /boot/grub/grub.cfg así que feliz fui a buscarlo. Pero, cómo no, en /boot no había nada.

Captura3-1.png
Aquí buscamos qué hace el comando “update-grub”
Captura4-3.png
Y aquí vemos vacío /boot

Eso de nuevo fue fallo mío, porque no caí en que al haberme hecho una instalación con LVM Cifrado, se hacía aparte una partición para el arranque, que en mi caso correspondía con el /dev/sda2 que había montado en /mnt/part2 así que fui para allá y encontré mi ansiado archivo en /mnt/part2/grub/grub.cfg. Ya solo me quedaba buscar dónde estaba la parte que correspondía al archivo 40_custom con las credenciales y modificarlo.

Captura5-1.png
Parte del archivo grub.cfg correspondiente a las credenciales especificadas en el 40_custom

Pues ahí tenía mi bonito archivo de configuración de Grub, mal configurado valga la redundancia. Así que simplemente cambié la contraseña a 1234 para poder acceder ya por fin a mi ordenador (contraseña que no debéis poner, esto era solo para acceder en el momento, en cuanto inicié sesión la cambié de nuevo) y por fin tuve acceso de nuevo a mi ordenador (si no no podría estar escribiendo esta entrada ahora mismo).

Y hasta aquí la entrada. Espero que os sirva por si en algún momento os veis en el mismo apuro que yo. Cualquier duda no dudéis en dejarme un comentario o contactar conmigo desde la pestaña de Contacto de la parte superior del blog.

Un saludo

AlDr0id

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s