⚠️ Este sitio sigue en constantes cambios

Vacaciones

Vacaciones

Introducción

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.

Información de la Máquina Virtual

  • Nombre: Trust
  • Autor: Romabri
  • Nivel de Dificultad: Muy Fácil
  • Descripción: Fecha de creación: 02/06/2024

Paso 0: Instalación/Despliegue

  • Descargamos la máquina desde la web de DockerLabs (opens in a new tab).
  • Descomprimimos él .zip unzip Vacaciones.zip
  • ejecutamos el archivo de bash sudo bash auto_deplo.sh Vacaciones.tar

Paso 1: Reconocimiento

Escaneo de la Red

Al desplegar la máquina me da la IP de la máquina, a sí que me evito el escaneo con Arp

ip image


Después creo una nueva carpeta con el nombre de la máquina para posteriormente entrar al directorio y usar la función mkt(Esta crea 4 carpetas, la llamada content, exploits, nmap y scripts) de mi terminal.

mkdir Vacaciones
cd Vacaciones
mkt

Ahora en la carpeta de nmap realizo un escaneo inicial para identificar los puertos abiertos y exportarlos a un archivo.

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

Para proseguir con la extracción de los puertos que estaban abiertos del archivo

extractPorts allPorts

Ports image

También para el escaneo de los servicios que corren.

nmap -sCV -p80 172.17.0.2 -oN targeted

Resultado: Services image

Enumeración de Servicios

Ahora se enumeran los directorios de la página web que descubrimos por tener abierto el puerto 80.

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

Esto no das como resultado el index y otro llamado javascript en el cual no tenemos permiso para acceder al recurso,

En el archivo index parece haber un comando que nos vendrá de mucha ayuda

Mario image

Paso 2: Explotación

Intentaremos hacer un ataque de fuerza bruta hacia el puerto 22(SSH) con hydra, para esto necesitaremos los dos usuarios para tratar de lograr identificar las credenciales de acceso

Este sería el comando a utilizar:

medusa -h 172.17.0.2 -u camilo,juan -P /usr/share/wordlists/rockyou.txt -M ssh

Nos ha encontrado qué camilo puede acceder vía SSH con la contraseña ******** Vamos a ingresar

Login image

Si hacemos búsqueda de permisos SUID o SUDO no tenemos nada vamos a ver si hay un correo como decía el texto que hay en el código fuente de la página web. Nos dirigimos a /var/mail/camilo y encontramos lo siguiente:

Juan image

Elevación de Privilegios

juan puede ejecutar como cualquier usuario ruby.

Después de esto usamos la herramienta searchbins que nos facilita el acceso a GTFOBins.

searchbins -b ruby -f sudo

Ahora solo falta escribir el comando que nos arroja, el cual es:

sudo ruby -c 'exec "/bin/sh"'

Con el cual ya tenemos usuario administrador Root image

Notas

  • La máquina tuvo el nivel de dificultad esperado, o sea muy fácil