Blog sobre seguridad informática, privacidad, anonimato, hacking ético, programación y sistemas operativos en general.

Mostrando las entradas con la etiqueta grub. Mostrar todas las entradas
Mostrando las entradas con la etiqueta grub. Mostrar todas las entradas

martes, 30 de enero de 2018

SecHackLabs: Linux Hardening - Asegurando el sistema de arranque o BootLoader.


Un atacante que tiene acceso físico a tu sistema puede bypassear fácilmente una gran cantidad de la seguridad de su sistema, especialmente controles de usuario y contraseña, además puede reiniciar este, cambiar la configuración de arranque del sistema, la manera cómo cargan los procesos y su orden de arranque. Usted necesita asegurar el arranque de su sistema y tener conocimiento total sobre que está pasando durante el proceso de arranque para poder endurecer/proteger su sistema contra este tipo de ataques.

Si un atacante puede reiniciar tu sistema, puede crear dos grandes problemas. El primero es que los sistemas GNU/Linux ofrecen una gran cantidad de acceso a todo aquel que puede cómo ellos inician el sistema. El segundo, es que pudiendo apagar tu sistema es un excelente ataque DoS/DDoS. Entonces, tener control sobre quien está habilitado para reiniciar tu sistema, cómo puede interactuar cada usuario con el bootloader o cargador de arranque y cual kernel pueden ellos iniciar es una decisión en la que debes ser altamente estricto.

Además, cuales servicios inician y su orden de arranque pueden exponer tu sistema a futuros riesgos, además, muchos de los servicios que se inician en un sistema que se instaló tal y cómo venía por defecto o en sistema no endurecido (unhardened) son innecesarios. Muchos de los servicios exponen tu sistema a riesgos, debido a sus particulares funcionalidades, a lo largo de este post dejaré unas buenas reglas para asegurar y organizar el proceso de arranque de tu sistema.

· Protegiendo tu GRUB con contraseña.

GNU GRUB (GNU GRand Unified Bootloader) es un gestor de arranque múltiple, desarrollado por el proyecto GNU que nos permite elegir qué Sistema Operativo arrancar de los instalados.

Se usa principalmente en sistemas operativos GNU/Linux. El sistema operativo Solaris ha usado GRUB como gestor de arranque en sistemas x86 desde la revisión 10 1/06. Para más información, ver aquí.

Al ser este el paquete que nos da la opción de arrancar nuestro sistema y además, nos permite elegir con cual kernel arrancarlo, es ALTAMENTE recomendado la asignación de una contraseña que debamos introducir al momento de intentar arrancar uno de los kernel instalados. En una entrada anterior que publicamos, explicamos lo fácil que es cambiar la contraseña del usuario ROOT y cualquier otro usuario en un sistema GNU/Linux que no tiene protección del GRUB. Ver publicación.

En este post explicamos la manera cómo podiamos obtener acceso a un sistema GNU/Linux cómo root, sin necesidad de usar contraseñas, cracks, ni nada por el estilo, solamente usando las funcionalidades propias del sistema. Para los hackers, programadores, especialistas en seguridad informática y usuarios preocupados por su privacidad y seguridad, esto puede significar un riesgo inminente, pero como dijimos, es un error de configuración de nuestro GRUB y podemos corregirlo para que nadie pueda cambiar nuestra contraseña root de esta manera (Este cambio también puede realizarse con discos externos en un entorno chroot en discos que no estén cifrados). Para configurar de manera correcta nuestro GRUB, debemos realizar lo siguiente:

1) Creamos una contraseña que pueda ser reconocida por el GRUB, usando el comando #grub-mkpasswd-pbkdf2, escribimos la contraseña que deseemos y la confirmamos, si todo sale bien saldrá algo similar a lo que se muestra en la imagen:


2) Abrimos el archivo /etc/grub.d/40_custom con nuestro editor de texto favorito y añadimos las siguientes líneas en el final:

set superusers='user'
password_pbkdf2 'user' 'password'

Importante: El '$user' puede ser cualquiera, a tu gusto pero debes colocar el mismo user en los dos campos requeridos. En el campo password colocamos la contraseña generada en el paso anterior, esta comprende todo lo que aparece desde grub.pbkdf2.sha512.10000.* hasta el final. Las comillas no son necesarias.

3) Una vez que tengamos todo esto hecho, generamos un archivo de configuración de nuestro GRUB con los nuevos parámetros, utilizamos el comando grub-mkconfig -o /boot/grub/grub.cfg y esperamos a que finalize el proceso.

Una vez realizados estos pasos, cada vez que queramos iniciar nuestro sistema o modificar algún parametro en el GRUB al inicio, debemos proporcionar las credenciales asignadas anteriormente, solucionando de este modo el problema anteriormente mencionado. Si alguien desea ingresar sin las credenciales, sencillamente verá un error así:


Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.


domingo, 18 de junio de 2017

Como recuperar contraseña root en GNU/Linux (Cualquier distribución) y como configurar tu sistema para evitarlo.


Buenos días, queridos lectores. El día de hoy les queremos mostrar la manera de recuperar una contraseña root de un sistema GNU/Linux, la cual muchas veces hemos olvidado o en el momento de cambiarla, debido a una codificación diferente del teclado no ha querido como queríamos, les traemos la solución. Para realizar este cambio no necesitamos discos o software adicional, absolutamente nada y es muy pero muy sencillo, solo deben seguir los pasos que explicaré a continuación.

Importante: Para que este modo de recuperación de contraseña funcione es necesario que el GRUB no tenga contraseña (Más adelante explicaré como añadirle protección a nuestro GRUB).

1) Lo primero que debemos hacer es reiniciar nuestra PC y esperar a que cargue el GRUB, donde nos aparece la tipica pantall de acuerdo a nuestra distribución.


2) Presionamos la tecla 'e' para entrar en modo edición de las entradas del GRUB, nos debe aparecer algo similar a esto:


3) Buscamos la línea que inicia con "linux   /boot/vmlinuz-linux-* root=UUID=*** rw quiet" y al final añadimos "init=/bin/bash" como vemos a continuación.



4) Presionamos F10 para volver a nuestras opciones del grub y presioamos <Enter> para que nuestro sistema arranque, una vez inicia obtendremos una shell con privilegios root para realizar el cambio de contraseña que queramos, tanto de root como cualquier usuario.


Y como observamos tenemos todos los privilegios root y podemos realizar los cambios que deseemos.


Ahora que ya hemos cambiado nuestra contraseña root, reiniciamos nuestra PC, dejamos que inicie normalme y ya podemos ingresar con la contraseña que acabamos de asignar, así de sencillo es recuperarla.

Talvez muchas personas están pensando que la seguridad de GNU/Linux puede ser burlada de una manera tan fácil, esto no es un error de diseño o una falla de seguridad, esto es un error de configuración en el GRUB, un error nuestro. A continuación mostraremos como proteger nuestro sistema para evitar este cambio.

Como proteger nuestro sistema para evitar que nos cambien la contraseña con el procedimiento anterior.
Para los hackers, programadores, especialistas en seguridad informática y usuarios preocupados por su privacidad y seguridad, esto puede significar un riesgo inminente, pero como dije, es un error de configuración de nuestro GRUB y podemos corregirlo para que nadie pueda cambiar nuestra contraseña root de esta manera (Este cambio también puede realizarse con discos externos en un entorno chroot en discos que no estén cifrados). Para configurar de manera correcta nuestro GRUB, debemos realizar lo siguiente:

1) Creamos una contraseña que pueda ser reconocida por el GRUB, usando el comando #grub-mkpasswd-pbkdf2, escribimos la contraseña que deseemos y la confirmamos, si todo sale bien saldrá algo similar a lo que se muestra en la imagen:


2) Abrimos el archivo /etc/grub.d/40_custom con nuestro editor de texto favorito y añadimos las siguientes líneas en el final:

set superusers='user'
password_pbkdf2 'user' 'password'

Importante: El '$user' puede ser cualquiera, a tu gusto pero debes colocar el mismo user en los dos campos requeridos. En el campo password colocamos la contraseña generada en el paso anterior, esta comprende todo lo que aparece desde grub.pbkdf2.sha512.10000.* hasta el final. Las comillas no son necesarias.

3) Una vez que tengamos todo esto hecho, generamos un archivo de configuración de nuestro GRUB con los nuevos parámetros, utilizamos el comando grub-mkconfig -o /boot/grub/grub.cfg y esperamos a que finalize el proceso.

Una vez realizados estos pasos, cada vez que queramos iniciar nuestro sistema o modificar algún parametro en el GRUB al inicio, debemos proporcionar las credenciales asignadas anteriormente, solucionando de este modo el problema anterior.

Con esto damos por finalizado este post, esperamos que sea de su agrado y quedamos pendientes a comentarios. Si les gustó siguenos en Facebook, Twitter y unete a nuestra charla en Riot.