unityNetmon

Dificultad: Easy - OS: Windows

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

El CTF Netmon está orientado a prácticas de enumeración y explotación en sistemas Windows. La máquina se caracteriza por tener habilitado un servidor FTP accesible de forma anónima y expone servicios comunes, entre ellos un servidor web en el puerto 80 que ejecuta la plataforma de monitoreo de red PRTG Network Monitor. A través del acceso FTP se puede explorar gran parte del sistema de archivos, lo que habilita el descubrimiento de archivos sensibles relacionados con la configuración de PRTG. Este hallazgo actúa como puerta de entrada para obtener credenciales que posteriormente serán utilizadas en la interfaz web de la plataforma.

Una vez dentro del sistema de monitoreo PRTG, la versión identificada presenta una vulnerabilidad crítica que permite la ejecución remota de comandos (RCE). La falla está asociada a la forma en que el sistema maneja las notificaciones automatizadas y permite inyectar comandos arbitrarios en la configuración. Esta vulnerabilidad, identificada como CVE-2018-9276, afecta a versiones anteriores a la 18.1.39. A través de esta debilidad, un atacante puede ejecutar comandos con privilegios de sistema, ya que el servicio corre bajo la cuenta SYSTEM por defecto. Esto permite la elevación de privilegios y el acceso completo al sistema operativo.

En cuanto a la explotación de la vulnerabilidad CVE-2018-9276, se trata de una falla en la función de "notificaciones" del software PRTG, que permite la ejecución de comandos del sistema sin la debida sanitización de entrada. Este tipo de vulnerabilidad es especialmente crítica cuando se combina con una configuración débil de autenticación o credenciales previsibles, como ocurre en este caso con el usuario prtgadmin. La explotación puede realizarse de forma directa, añadiendo un nuevo usuario administrador al sistema, o de manera más sigilosa, mediante el uso de payloads en PowerShell codificados en base64 que otorgan una shell inversa. También se puede implementar el módulo windows/http/prtg_authenticated_rce desde msfconsole y automatizar la intrusión.

Enumeración de puertos/servicios

┌──(root㉿kali)-[/home/kali/Documents/HTB/NETMON]
└─# nmap -sCV --open -T4 -v -n 10.10.10.152
chevron-right📌 Parámetroshashtag
  • 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
21/tcp   open  ftp          Microsoft ftpd
| ftp-syst: 
|_  SYST: Windows_NT
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| 02-03-19  12:18AM                 1024 .rnd
| 02-25-19  10:15PM       <DIR>          inetpub
| 07-16-16  09:18AM       <DIR>          PerfLogs
| 02-25-19  10:56PM       <DIR>          Program Files
| 02-03-19  12:28AM       <DIR>          Program Files (x86)
| 02-03-19  08:08AM       <DIR>          Users
|_11-10-23  10:20AM       <DIR>          Windows
80/tcp   open  http         Indy httpd 18.1.37.13946 (Paessler PRTG bandwidth monitor)
|_http-trane-info: Problem with XML parsing of /evox/about
|_http-favicon: Unknown favicon MD5: 36B3EF286FA4BEFBB797A0966B456479
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: PRTG/18.1.37.13946
| http-title: Welcome | PRTG Network Monitor (NETMON)
|_Requested resource was /index.htm
135/tcp  open  msrpc        Microsoft Windows RPC
139/tcp  open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp  open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
5985/tcp open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows

Host script results:
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_clock-skew: mean: -9m19s, deviation: 1s, median: -9m20s
| smb2-time: 
|   date: 2025-06-20T18:52:45
|_  start_date: 2025-06-20T18:45:45
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled but not required

En sintesis

Algunos de los elementos que nos reveló el escaneo de nmap y que nos pueden ayudar para resolver el ctf son los siguientes:

  • Puerto 21 (FTP) abierto

    • Servicio: Microsoft ftpd

    • Acceso anónimo habilitado (código FTP 230)

    • Sistema operativo identificado como Windows_NT

    • El directorio raíz del FTP expone múltiples carpetas del sistema (inetpub, Users, Program Files, etc.), lo cual sugiere posible acceso a archivos sensibles.

  • Puerto 80 (HTTP) abierto

    • Servicio: Indy httpd 18.1.37.13946

    • Aplicación web: PRTG Network Monitor

    • Versión del software: 18.1.37.13946, vulnerable al CVE-2018-9276

    • Página de título: Welcome | PRTG Network Monitor (NETMON)

    • Soporta métodos HTTP: GET, HEAD, POST, OPTIONS

Reconocimiento del puerto 80

Al inspeccionar el puerto 80 nos vamos a encontrar con el panel de login de la aplicación PRTG Network Monitor, pero como no contamos con credenciales no podemos acceder, sin embargo buscando en internet los manuales de la aplicación encontramos la ruta donde se almacenan los datos por default del PRTG Monitor, entonces podemos inspeccionarla desde el FTP

Reconocimiento del puerto 21

Aprovechando que está habilitada la cuenta de anonymous vamos a enumerar recursos y buscar la ruta %programdata%\Paessler\PRTG Network Monitor

Nota: el manual de la aplicación ya nos tira una pista para localizar el archivo de configuración "The Windows ProgramData folder is hidden by default. To display it, you need to enable hidden items in the View options of your Windows system."

Efectivamente encontramos un backup de la aplicación en la ruta que nos indicaba el manual y al descargarlo vamos a ver que están filtradas las credenciales por defecto que usa el PRTG Monitor

Post-authentication Remote Code Execution (RCE)

Ahora que tenemos estas credenciales podemos implementar el módulo exploit/windows/http/prtg_authenticated_rce de msfconsole

Last updated