WriteUp CTF VideoClub del desarrollador @Shelldredd

Introducción

En esta ocasión, vamos a hacer algo distinto. Vamos a tratar de explotar la máquina VIDEOCLUB creada por el jefe @ShellDredd. Es una máquina Linux y su nivel de dificultad es fácil.

Enumeración

Comenzamos determinando que IP tiene la máquina víctima dentro de la red. Esto se realiza de la siguiente manera:

Una vez conocida la IP, vamos a enumerar que servicios tiene abiertos utilizando la herramienta scanports.sh

La ejecución del script scanports.sh nos ayuda a recopilar información sobre nuestro objetivo. En este caso, la máquina tiene abiertos los puertos 22 (OpenSSH 7.9p1) y el puerto 3377 (Apache httpd 2.4.38).

El siguiente paso será agregar el nombre de dominio DNS y agregarlo a /etc/hosts, ya que estamos practicando en una red de área local.

Abrimos el puerto 3377 en el navegador.

El siguiente paso será hacer fuzzing de los directorios que contiene esta web. Para ello vamos a utilizar la tool dirb.

Vamos a comenzar accediendo a robots.txt

Donde vemos, lo que parece ser algún tipo de hash. Vamos a averiguarlo utilizando la herramienta CrackStation.

No obtenemos resultados. Parece ser un mensaje aleatorio.

Si seguimos más abajo en robots.txt, encontramos lo que parece un archivo de usuarios, que más adelante abriremos.

Descargamos el contenido de los directorios /videos e /images.

Extraemos los metadatos de todas las imágenes de la siguiente manera:

Una vez ejecutado obtenemos los metadatos de todas las imágenes que estaban contenidas en el servidor web. De entre todos los resultados, vemos uno que resulta sospechoso:

Hacemos el mismo procedimiento en el directorio /videos.

Abrimos el directorio /videos en el navegador, para ver su contenido. Abrimos las diferentes rutas encontradas en el navegador web, pero no contienen información relevante. En t3rm1n4t0r parece que hay un hash.

Volveré. No hay mucho más en esa página.

Ahora probamos con c0ntr0l.

Pero nos devuelve que no existe como tal. ¿Y si c0ntr0l fuese un archivo y no un directorio? Para ello, vamos a utilizar Burp Suite.

Como resultado tenemos que c0ntr0l es un archivo php. Lo abrimos en el navegador web. Pero aparece sin contenido.

Una de las cosas que podemos hacer con este archivo es probar si es vulnerable a RCE. Para ello, vamos a utilziar la lista de usuarios que encontramos al principio de la enumeración de la máquina, y volveremos a utilizar la herramienta Burp Suite.

Cargamos los usuarios de la lista users.txt

Y comenzamos a fuzzear.

En los resultados vemos que f1ynn nos devuelve información. Ahora regresamos al navegador web.

Y vemos que podemos ejecutar comandos.

Como podemos ejecutar comandos, vamos a intentar obtener una reverse shell. Para ello, vamos a utilziar la tool shellerator. Vamos a ello.

Ahora vamos a utilizar alguno de los resultados generador por la herramienta para ejecutar la shell reversa.

Tenemos acceso a la máquina vícitma. Ahora procedemos a la elevación de privilegios.

Elevación de privilegios

Inspeccionando los distintos directorios disponibles en la máquina objetivo, llegamos al directorio /home/librarían/ donde encontramos el archivo user.txt con la flag correspondiente.

Seguimos ahora con la búsqueda de la flag root.txt. www-data tiene permisos SUID para la ejecución del archivo binario ionice.

Ejecutamos el comando ./ionice /bin/sh –p

Y como podemos ver en la imagen, somos usuario con privilegios root. Ahora vamos a localizar la flag root.txt. Para ello volvemos al directorio raíz / y con el comando find –name root.txt, localizamos la ruta donde se encuentra el archivo.

¡Y ya tenemos la flag root y la máquina términada!

No responses yet

Deja una respuesta

Tu dirección de correo electrónico no será publicada.