Solución CTF: Fristileaks 1.3

Esta VM vulnerable es un divertido y simple CTF que puede descargarse desde el estupendo portal VulnHub.

Nota: Para vmware puede ser necesario configurar la dirección MAC 08:00:27:A5:A6:76 para conseguir que funcione (obtenga DHCP). Yo lo hice, ver Fig 1.

srf_fristileaks_1

¡Que comience el juego!

En este caso ya sé la dirección IP, por lo que empezamos lanzando un escaneo nmap. Del resultado podemos ver solo 1 puerto abierto (HTTP) y el archivo robots.txt con algunos directorios.

srf_fristileaks_2

Abrimos el sitio Web.

srf_fristileaks_3

Nada interesante por el momento. Ahora vamos a probar abrir el robots.txt

srf_fristileaks_4

En estos directorios solo encontramos una imagen del Jedi Obi-Wan Kenobi y nada más.

srf_fristileaks_5

Pensando un poco en próximos pasos y teniendo en cuenta que este es el juego fristi, llegamos a la siguiente URL; un portal admin con inicio de sesión y contraseña.

srf_fristileaks_6

Revisando el código HTML encontramos que la imagen se codifica en Base64 y también un posible nombre de usuario: eezeepz

srf_fristileaks_7

Mirando más de cerca el código fuente HTML nos encontramos con otro texto posiblemente codificado en base64.

srf_fristileaks_8

Vamos a poner el texto codificado en base64 en el decodificador de Burp Proxy. Vemos una cabecera PNG. ¡Suena a una imagen!

srf_fristileaks_9

Escribamos un script en Python para obtener la imagen.

srf_fristileaks_10

Abrimos la imagen y ¡tiene pinta de ser una contraseña!

srf_fristileaks_11

Ahora tenemos un nombre de usuario y una contraseña. ¡Continuemos!

srf_fristileaks_12

Genial, tenemos acceso al portal.

srf_fristileaks_13

Podemos subir una imagen.

srf_fristileaks_14

¿Por qué no una webshell? 🙂 Modificamos una de las que trae Kali para añadir mi dirección IP.

srf_fristileaks_15

Subimos la webshell pero ocurre un error. ¡Algún tipo de filtro!

srf_fristileaks_16

Abrimos Burp Proxy para intentar saltar el filtro, cambiando el nombre del archivo para agregar una extensión “.png”.

srf_fristileaks_17

Perfecto! filtro saltado y tenemos una webshell subida.

srf_fristileaks_18

Llamemos a nuestro webshell

srf_fristileaks_19

Recuerda que antes de llamar a la webshell debemos poner Netcat a la escucha. Caballeros, tenemos shell 🙂

srf_fristileaks_20

Un buen lugar para empezar es analizar el código de la aplicación web, escrita en PHP. En el directorio /var/ podemos ver un directorio llamado /fristigod/ del usuario fristigod, interesante.

srf_fristileaks_21

Hurgando en el directorio /var/www/ encontramos un archivo llamado notes.txt.

srf_fristileaks_22

En el directorio /home/ podemos ver varios usuarios.

srf_fristileaks_23

Dentro del directorio /eezeepz/ encontramos otro archivo notes.txt con un mensaje interesante. Podemos ejecutar comandos, ¡genial!

srf_fristileaks_24

Vamos a ejecutar un comando para poder acceder al directorio /admin/ utilizando el truco del archivo /tmp/runthis.

srf_fristileaks_25

Dentro del directorio /admin/ vemos un montón de archivos interesantes.

srf_fristileaks_26

Tenemos algunos archivos cifrados y un script de Python utilizado para cifrar los archivos.

srf_fristileaks_27

Es hora de un poco más de Python, vamos a modificar el script de cifrar para descifrar los archivos.

srf_fristileaks_28

Ahora que tenemos algunas contraseñas vamos a cambiar nuestro actual usuario al usuario fristigod. Recuerda que uno de los archivos cifrados se llamaba «whoisyourgodnow.txt». Necesitamos una terminal real por lo que vamos a conseguir una, una buena chuleta aquí.

srf_fristileaks_29

El contenido del directorio /fristigod/ no revela nada.

srf_fristileaks_30

Recordamos que en el directorio /var/ teníamos un directorio llamado /fristigod/. En este directorio podemos encontrar algunos archivos interesantes, ¡incluso ejecutar un binario con permisos root!

srf_fristileaks_31

Al examinar el archivo. bash_history aprendemos cómo ejecutar el anterior binario root.

srf_fristileaks_32

Es momento de examinar el contenido del directorio /root/ utilizando el binario root.

srf_fristileaks_33

Premio! Tenemos shell de root y la bandera 🙂

srf_fristileaks_34

¡Felicitaciones al autor por crear este divertido CTF!

¿Has conseguido root y la bandera utilizando otras tácticas?

— Simon Roses Femerling / Twitter @simonroses

Esta entrada fue publicada en Hacking, Hacking Etico, Seguridad, Tecnologia y etiquetada , , . Guarda el enlace permanente.

Deja una respuesta

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

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