Este es un writeup de ejemplo con datos ficticios. Úsalo como plantilla para tus propias máquinas.
Reconocimiento
Empezamos con un escaneo de todos los puertos TCP y después un escaneo de versiones sobre los puertos abiertos:
nmap -p- --min-rate 5000 -oN ports.txt 10.10.11.100
nmap -p22,80 -sCV -oN services.txt 10.10.11.100
| Puerto | Servicio | Versión |
|---|---|---|
| 22 | SSH | OpenSSH 8.9p1 |
| 80 | HTTP | nginx 1.18.0 |
Enumeración web
El servidor web redirige a example.htb, así que lo añadimos a /etc/hosts. Con un fuzzing de directorios encontramos un panel de administración:
ffuf -u http://example.htb/FUZZ -w /usr/share/wordlists/dirb/common.txt
Acceso inicial
Describe aquí la vulnerabilidad que permitió el acceso: qué encontraste, por qué funciona y cómo la explotaste. Incluye solo los comandos necesarios para reproducirlo.
Escalada de privilegios
Revisamos los permisos de sudo del usuario:
sudo -l
Si el usuario puede ejecutar un binario como root sin contraseña, consulta GTFOBins para ver si permite obtener una shell.
Lecciones aprendidas
- Enumerar todos los puertos antes de centrarse en uno.
- Revisar siempre los permisos de
sudoy los binarios SUID.