Introducción

AVISO IMPORTANTE: Este post es una prueba de concepto con fines educativos. No lo uséis para hacer el mal en ningún concepto.

No nos hacemos responsables de cualquier mal uso que se le pueda dar a este post.

En muchas instituciones en las que se prestan ordenadores a las personas, ya pueden ser institutos, bibliotecas… Suelen proteger muy bien los ordenadores en cuanto a software, poniendo buenos antivirus, dándonos un usuario de invitado, además de tener congelados los ordenadores.

Pero… ¿Y el acceso físico?

Pues al parecer la mayoría se olvidan de esta parte.

En este post vamos a realizar un ejemplo práctico de cómo conseguir un usuario sin restricciones partiendo de que tenemos acceso físico a un ordenador congelado, y sin usuarios disponibles ya que no conocemos ninguna credencial.

Hay infinitas maneras distintas de conseguir cosas de este estilo, pero vamos a ver una manera muy sencilla.

Lo único que se necesita para realizar esto, será un USB con un SO en Live de Linux (también se podría con Windows evidentemente, pero los programas a utilizar serían distintos). Yo recomiendo una distribución orientada a pentesting como puede ser Kali Linux.

Recordad, en esta prueba de concepto estaré usando una distribución de Linux (Kali Linux). En Windows estos comandos serán diferentes y en caso de que se utilicen otras distribuciones Linux es posible que tengas que instalar algún paquete.

Empecemos.

Cargando el sistema operativo de nuestro USB

Lo primero que tenemos que hacer, es conseguir cargar el sistema operativo en el ordenador objetivo, para ello necesitaremos acceso a la BIOS (en cada placa base es diferente, recomiendo buscar en Google el acceso a esta según la marca que nos salga en pantalla al encender el ordenador).

Normalmente, la BIOS o está sin contraseña o tiene las establecidas por defecto. En el caso de que se nos pida alguna contraseña, intentaremos ingresar las contraseñas por defecto. Estas pueden ser encontradas en Google buscando por ejemplo «Asus BIOS default credentials», claro, todo esto dependiendo de la marca de la placa base del ordenador.

Si no conseguimos entrar con ninguno de las credenciales (no se debe probar a lo loco porque la BIOS puede llegar a bloquearse) las cosas se nos complicarán un poco, ya que tendremos que resetear la contraseña de la BIOS.

Si hemos podido acceder a la BIOS, ya podremos iniciar nuestro sistema operativo Live.

Reiniciando la contraseña de la BIOS

Si estáis en esta situación, la cosa es más complicada, pero no imposible siempre que lo que estáis tratando sea un ordenador de sobremesa. Con un portátil esto sería extremadamente difícil por no decir imposible.

La BIOS tiene una memoria temporal que se borra una vez se quede sin electricidad. Esta memoria, esta alimentada por una pila interna. En esta memoria están almacenados las credenciales de la BIOS entre otras cosas como el reloj interno.

Lo primero que haremos será cortar la electricidad del ordenador, esto puede hacerse dándole al interruptor situado en la parte de atrás del ordenador.

Ahora tendremos que abrir la tapadera lateral del ordenador y extraer la pila interna de la placa base.

Tras esperar unos 5-10 minutos, la volveremos a meter y procederemos a encender el ordenador y a acceder a la BIOS. Si todo ha salido bien, ahora la BIOS deberá de tener o la contraseña por defecto o estar sin contraseña.

Una vez aquí, ya podremos iniciar nuestro sistema operativo dentro del ordenador objetivo.

Escalación de privilegios y extracción de credenciales

Una vez tengamos nuestro sistema iniciado, podremos empezar con la magia.

Lo primero que tenemos que hacer, es localizar en que disco está instalado el Windows de la máquina en la que estamos.

Para ver los discos disponibles, podemos usar el comando:

fdisk -l

En mi caso yo puedo saber que el disco que contiene windows es /dev/sda2 ya que es el que tiene una capacidad donde este podría caber (111,8 GB).

Ahora lo que debemos hacer es montar este disco en nuestro sistema. Esto se puede hacer con el comando mount. Lo que haré será crear un directorio llamado windows en /mnt y montar ahí este disco.

mount /dev/sda2 /mnt/windows

Con esto, conseguiremos tener acceso a todo el disco duro de Windows sin restricción alguna (a no ser que este cifrado, en este caso, no sería posible acceder a él y se deberá desencriptar antes, cosa que no se explicará aquí).


En mi caso, al intentar montar el disco duro me ha dado un error, diciendo que el volumen está siendo utilizado en algún otro lado. Esto no tiene por qué pasar, pero en caso de que pase, no supone ningún problema.

Lo que tenemos que hacer, es utilizar el siguiente comando:

df -h

Esto nos devolverá una lista del lugar en el que están montados todos los discos. Lo que deberemos hacer, es buscar donde esta montado el disco duro objetivo, en mi caso /dev/sda2 y posteriormente, desmontarlo usando umount.


Aquí podemos ver, que esta montado en «/media/root/CE50F4E650F4D665».
Sencillamente usaremos el siguiente comando:

umount /media/root/CE50F4E650F4D665

Una vez hecho esto, nos debe dejar sin ningún tipo de problema montar el disco duro /dev/sda2.
Con el disco montado, tenemos que poder navegar cómodamente por los directorios de Windows dentro de la carpeta /mnt/windows. Ahora ya podemos empezar a ver lo interesante.
Windows, usa un archivo llamado SAM para guardar las contraseñas además de controlar permisos de usuarios como al grupo que pertenecen. Teniendo acceso libre a este archivo, podemos desde obtener hashes de contraseñas hasta conseguir borrar la contraseña a una de estas cuentas e incluirlas en un grupo de Windows, como podría ser el de Administrador.

Este archivo está situado en Windows\System32\config\SAM.

Además del archivo SAM, hay otros archivos que guardan otros datos de Windows como puede ser el archivo SYSTEM, que necesitaremos para la extracción de credenciales.

Si hacemos un cd al directorio config, podremos hacer lo siguiente:

samdump2 SYSTEM SAM

Necesitaremos tanto el archivo SYSTEM como el archivo SAM.

Usando esto, obtendremos un output con todas las credenciales hasheadas.

Lo normal, es que haya cuentas deshabilitadas, esto se puede saber porque llevan un *disabled* delante. Estas son las cuentas que recomiendo modificar, ya que las podemos habilitar y elevarlas a administrador sin interferir en los datos de ningún otro usuario que puede estar activo en el ordenador.

Ahora vamos a subir un poco el nivel, pasemos a chntpw, una tool ya instalada en esta distribución (Kali Linux).

Esta tool, nos permitirá desde borrar hashes dejando así las contraseñas en blanco, hasta modificar el registro de Windows o meter a usuarios en grupos en el que antes no estaba, como puede ser subirlo a Administrador.

Sencillamente, desde el directorio config donde está el archivo de SAM, escribiremos lo siguiente:

chntpw -i SAM

Con esto abriremos la tool en modo menú interactivo. Nos saldrá algo tal que así:

En este post, no mostraré lo que se puede hacer modificando el registro.

Lo que haremos, será ir a la opción 1, en la que podemos modificar el grupo de los usuarios y las contraseñas.

Nos saldrá una lista de usuarios, tal que así.

Hay algunos usuarios que pueden estar bloqueados, y saldrá un mensaje con «disabled».

En mi caso, ya lo estuve haciendo pruebas antes así que tengo todos o desbloqueados o subidos a administrador con la contraseña vacía.

Si vemos un *BLANK* significa que ese usuario, tiene la contraseña vacía a la hora de acceso a este usuario.

Nos pedirá un RID que usar. Este RID será los 3 números después del 0 en la columna de RID.

Una vez aquí, ya podemos modificar los valores de los usuarios:

Estas son todas las opciones que nos permite este programa.

  • Primera opción: podemos dejar la contraseña en blanco.
  • Segunda opción: podemos desbloquear usuarios deshabilitados, lo que mencioné justo arriba.
  • Tercera opción: podemos hacer el usuario administrador directamente, sin más.
  • Cuarta opción: podemos añadir al usuario a cualquier tipo de grupo de Windows.
  • Quinta opción: la inversa a la cuarta.

Las que nos interesan son la 1, 2 y 3. Una vez la usemos tendremos al usuario desbloqueado (saldrá en el menú de selección de usuario), la contraseña vacía (no necesitaremos nada para acceder a esta) y seremos administradores.

Lo que supone para el dueño de este ordenador, es que estaremos en un usuario fuera del esperado y con un permiso total, con lo cual podríamos hacer cualquier acción con el ordenador en sí. Así podríamos llegar a evitar programas de control, cuentas limitadas… Vamos, un gran peligro.

Guardianes inesperados

Importante: Todo esto debe ser desde la primera vez que hemos modificado el archivo «Persi0.sys» y todos estos cambios deben ser realizados desde nuestro sistema operativo live. Si esto se intenta otra vez, no puedo asegurar al 100% que vaya a funcionar.

Antes de reiniciar felizmente el ordenador y tener nuestro nuevo usuario, tenemos que tener un par de cosas en cuenta.

¿Está el ordenador congelado? ¿Hay algún tipo de antivirus que no permita el cierre de manera natural que nos vayan a fastidiar?

Si el ordenador está congelado, estos cambios no se guardarán así que tendremos que jugar sucio.

Cuando un ordenador está congelado, se guarda un archivo en la carpeta raíz llamado «Persi0.sys».

Algo que al parecer confunde al congelador, es modificar este archivo. (AVISO: Tocar este tipo de cosas puede llegar a corromper funciones del ordenador. No me hago responsable de cualquier daño provocado por esto). Sencillamente lo que podemos hacer, es cambiarle el nombre. Por ejemplo, podemos cambiarlo de «Persi0.sys» a «Persi0.sys.bak».

Cuidado, hay programas como el deep freeze que tiene un proceso activo.

Lo que podemos hacer, es «romper» el programa. Sencillamente, buscaremos la ubicación en la que este instalado, y el ejecutable que lo inicie, cambiarle el nombre.

¿Y si hay un antivirus que no podremos pausar más adelante? Pues más de lo mismo, cambiando el nombre del ejecutable no se podrá iniciar.

Y así es como el ordenador, pierde todas sus limitaciones.

Defensa

Para defendernos de estos ataques, debemos tener los ordenadores con dificíl acceso interno, es decir, que no se puedan abrir las carcasas (claro, en caso de que sean torres).

Muy importante que la BIOS no tenga las contraseñas por defecto.

Finalmente, una medida algo más complicada pero que erradica este ataque completamente es el cifrar los discos duros (eso sí, no uséis contraseñas fáciles). Esto se puede hacer con programas como BitLocker. Puede ser descargada desde aquí.

Despedida

Ya hemos visto este ataque y las consecuencias que puede tener para el dueño de estos equipos.

Espero que os haya gustado este post y podáis sacar conocimiento claro de esto.

¡Hasta la próxima!

¿Me ayudas a compartirlo?
Última modificación: 2 mayo 2019

Autor

Comentarios

Comenta o responde a los comentarios

Tu dirección de correo no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.