hackear un pc con Linux

hackearUso la palabra “hackear” de manera jocosa. Tan sólo pretendo hacer una pequeña reflexión sobre la importancia de la seguridad física de una máquina.

Quiero entrar en un ordenador con linux que tengo delante de mí, pero no tengo usurario, ni contraseña, y mucho menos conozco la contraseña de root.

No problemo (Terminator T-800 dixit):

Supongamos que el equipo está apagado (si no es así, apretar el botón de on/off durante 5 segundos solucionará el problema).

1. Arrancamos y esperamos que aparezca el menú de GRUB (ahora ya casi siempre será GRUB2).

2. En la entrada que queramos arrancar, normalmente será la entrada marcada por defecto, pulsamos la tecla “e”, de esa manera entramos en el modo de edición de GRUB.

3. buscamos la línea de arranque del kernel. Suele ser la penúltima y comienza por “linux /boot/…”

4. en esa línea hay que hacer dos cosas, la primera ver si arranca el kernel en modo “rw” (lectura/escritura), si está así no hay problema. Si vemos que está en modo “ro”, sólo lectura (o no aparece nada) lo cambiamos a “rw”.

5. y lo segundo y más importante, al final de esa línea añadimos “init=/bin/sh” (sin las comilla, claro). Hay que tener en cuenta, que el teclado por defecto es el qwerty americano, por lo que por ejemplo en mi caso, que tengo de qwerty de España (es_ES), el signo “=” está en mi tecla “¡” (arriba a la derecha) y el signo “/” sale pulsando mi tecla “-” (guión), abajo a la derecha. Agregando este parámetro init, lo que hago es decirle al kernel que no arranque la imagen por defecto, sino un shell (que normalmente será bash, por lo que /bin/sh será un enlace simbólico a /bin/bash).

6. ahora tan sólo tenemos que presionar Control+X o F10 para arrancar con nuestros cambios.
y… eureka !!! ya estamos en una shell como ROOT y somos los putos amos 😉

Lo más lógico es que la partición /home no esté montada, por lo que en principio no vemos los archivos de usuarios, no problemo:

mount /dev/sda2 /home (suponiendo que sda2 sea la partición de la “home”) y ya tenemos acceso a todos lo archivos de todos los usuarios.

Puedo comenzar por cambiar la contraseña de root, así:

passwd

te pide dos veces la nueva contraseña y ya tienes la contraseña de root.

Lógicamente puedes crear cuentas, asignar contraseña, etc, etc, etc, todo lo que puede hacer root (o sea TODO).

Para salir de este shell escribe “exit”. Si la máquina no se apaga físicamente, pulsa 5 segundos el botón de apagado. Ahora ya puedes arrancar normalmente, y ya podrás entrar como root, o como un usuario de los que has creado, y con el famoso “su” podrás hacerte root, pues tú mismo cambiaste su contraseña que ahora es tuya 🙂

Esto nos debe hacer reflexionar sobre la seguridad “física” de una máquina. Un sistema linux bien actualizado y configurado, y con una buena contraseña de root, no es fácilmente hackeable. Pero si tenemos acceso físico a la máquina, ya se ve lo fácil que es invadirla y controlarla. Se puede poner una contraseña para impedir la edición del GRUB, pero siempre se podrá hacer lo mismo arrancando desde una unidad externa (por ejemplo un USB con una ISO booteable). Se puede poner una contraseña en la BIOS, pero también es relativamente fácil resetear la BIOS abriendo el ordenador y accediendo a la placa. Por eso, los servidores, no deben tener teclado ni monitor, y es mejor controlarlos en remoto por accesos SSH, y siempre deben estar físicamente protegidos.

Conclusión, si te roban el ordenador y quieren acceder a tus datos, lo tendrán muy fácil, por lo que toda información crítica debe estar encriptada (por ejemplo en contenedores Truecrypt), pues como ves, ni la mejor contraseña de root defenderá tu acceso en una máquina que caiga en malas manos.

Anuncios

4 comentarios en “hackear un pc con Linux”

  1. Solucion: crear una particion /boot/ y encriptar (/) y (/home), para evitar que alguien pueda acceder a una shell y evitar los chroot, no se podra nisiquiera accediendo desde un live cd pues (/) estara cifrada. Por ultimo poner password al grub y a la Bios. PD todos sabemos que grub no permite el arranque desde particiones cifradas para eso se crea /boot/ diferente de (/) y se cifra esta ultima.

    1. la contraseña al grub y la bios no valen de mucho, pero el mejor consejo, en eso llevas toda la razón, en encriptar las partición de datos e incluso la raíz. Excelente consejo. Sea una partición completa, o sólo contenedores de datos críticos, la encriptación de alto nivel, con contraseñas fuertes, es la mejor opción.

  2. Buena idea, pero yo nunca cambiaría la contraseña del root para vulnerar un equipo Linux. En cuanto se pusiese en el pc el verdadero root sospecharía o se daría cuenta de la vulneración al no poder iniciar sesión con su contraseña.

    Un método mejor y más sutil es iniciar en esa shell con el grub y con un adduser nombredeusurio sudo añadir el usuario normal con el que arrancamos al grupo sudo.

    De esta manera tan solo tenemos que reiniciar el pc, iniciar con nuestro usuario normal, abril un shell, escribir sudo su y poner nuestra contraseña. Con esto seríamos los putos amos de ese equipo y no sería tan evidente.

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