viernes, 12 de agosto de 2016

Acceder a un sistema linux mediante GRUB2, sin contraseña y luego cifrar el mismo.

Para algunos linux es el sistema operativo más seguro de todos, lamentablemente están equivocados, ya que no existe eso de : "Seguro".

"El único sistema seguro es aquél que está apagado en el interior de un bloque de hormigón protegido en una habitación sellada rodeada por guardias armados" 
-- Gene Spafford

Y es incuestionable, por eso mismo en esta ocasión vamos a ver lo sencillo que es de acceder a un sistema linux mediante GRUB2, esto sí bien no es una vulnerabilidad lógica del sistema, sí es una vulnerabilidad física, ya que cualquiera que tenga acceso al servidor y sí el GRUB2 no está cifrado con una contraseña, nos veremos bastante comprometidos.

Es posible pasar un parámetro al kernel de linux que le indique cuál es el programa que queremos ejecutar
apenas éste se termine de cargar (Por defecto, este programa es : ‘/sbin/init’ < --- Esto puede conseguirse
Seleccionando la opción de arranque del menú que queremos editar y presionando la tecla “E”. 
Eso nos abrirá
el editor, que nos va a permitir modificar cualquier opción. Una vez realizadas las modificaciones, podemos
arrancar con las combinaciones de teclas : “ctrl+x” (Gestor de arranque GRUB2)

Como podemos observar en la linea que empieza con ‘linux’, al final de la misma se está definiendo el
parámetro ‘init’ como ‘/bin/bash’, lo cuál va a generar que al cargar el sistema, obtengamos acceso root.

y total control en el sistema operativo. ¿Sencillo no? Es gravisimo, porque esto automáticamente nos otorga una shell ROOT lo que nos da un control total sobre el sistema.

Ahora veamos ... ¿Como se puede evitar este inconveniente?

PBKDF2 : Es un algoritmo, que nos permite generar una derivación de clave PBKDF2 de una contraseña proporcionada, la cual procesa nuestra contraseña con un algoritmo de hash (En este caso, SHA512) Y un valor salt, lo cual vuelve extremadamente difícil adivinar la contraseña por cualquier técnica de cracking conocida hasta el momento.

Entonces primero ejecutamos el comando : grub-mkpasswd-pbkdf2

Lo cual nos va a preguntar cual es la contraseña que queremos definir y, una vez hecho esto, nos va a mostrar una salida parecida a esta : 

Your PBKDF2 is
grub.pbkdf2.sha512.10000.32B8E03C7A0806DD5D94966DCCBDA1A295B81A874AD0FA1CAC1A611BDA85
E8760EDA7B59B42C03CCA64E50952B346F4AC48A9D75991F4932588DC27E97DDFADE.4CE988BAF33E6
9D8543510514114459B4B22D44B2255539DDA9C9832DE0106409CC5A0628C292BA1F18A01D4C90D3AEA25EBDA5A547C1F737A2D7B38DE19B093 

Debemos crear un archivo en el directorio de configuración de GRUB2 (‘/etc/grub.d’). Vamos a llamarlo “01_password” (el nombre del archivo debe empezar con “01”, debido al orden en el que necesita ejecutarse). 

En nuestro caso, el archivo creado sería: “/etc/grub.d/01_password”.
El contenido del archivo debe ser el siguiente: 

#!/bin/bash

cat << EOF

set superusers="root

password_pbkdf2 root grub.pbkdf2.sha512.10000.
32B8E03C7A0806DD5D94966DCCBDA1A295B81A874A
D0FA1CAC1A611BDA85E8760EDA7B59B42C03CCA64E
50952B346F4AC48A9D75991F4932588DC27E97DDFADE.
4CE988BAF33E69D8543510514114459B4B22D44B2255539
DDA9C9832DE0106409CC5A0628C292BA1F18A01D4C90D3AEA25EBDA5A547C1F737A2D7B38DE19B093

EOF


Básicamente,  el archivo es un script que va a mostrar por pantalla las configuraciones
necesarias para habilitar la protección por contraseña. 
Luego, este archivo va a ser procesado, junto con los otros archivos de configuración y
entre todos ellos, van a formar la configuración completa de GRUB2 (Parece complejo, pero es una forma de
configuración modular y flexible).
Luego, debemos hacer que este archivo tenga permisos de ejecución, con el siguiente comando:
‘chmod u+x /etc/grub.d/01_password’
Para actualizar la configuración de GRUB2 y que se apliquen los cambios que acabamos de realizar, debemos
ejecutar el siguiente comando:
update-grub2
Una vez hecho esto y reiniciado el sistema, si queremos editar alguna entrada se nos va a solicitar el usuario (root) y

la contraseña que asignamos, como se muestra a continuación:


¡Y eso fue todo, saludos!
Share:

1 comentario:

¡Total de visitas!

El rincon del hacking

¡Curso introducción a la programación con javascript!

¡Curso Google Hacking e Ingenieria Social!