NetMon

Publicado: 09 de Junio de 2025 Autor: Josรฉ Miguel Romero aKa x3m1Sec Dificultad: โญ Easy
๐ Descripciรณn
NetMon es una mรกquina de dificultad Easy de HackTheBox que ejecuta Windows Server. La mรกquina presenta un servicio FTP con acceso anรณnimo habilitado que permite acceder al sistema de archivos completo, facilitando la obtenciรณn de la flag de usuario. Para la escalada de privilegios, se explota una vulnerabilidad de ejecuciรณn remota de comandos autenticada en PRTG Network Monitor 18.1.37.13946, lo que permite crear un usuario administrador y obtener acceso completo al sistema.
La mรกquina enseรฑa conceptos importantes como la enumeraciรณn de servicios FTP, anรกlisis de archivos de configuraciรณn, password guessing basado en patrones, y explotaciรณn de aplicaciones web empresariales.
๐ญ Reconocimiento
Ping para verificaciรณn en base a TTL
๐ก Nota: El TTL cercano a 128 sugiere que probablemente sea una mรกquina Windows.
Escaneo de puertos TCP
Enumeraciรณn de servicios
๐ช Enumeraciรณn de Servicios
๐๏ธ 21 FTP
La enumeraciรณn con nmap nos muestra que la autenticaciรณn anรณnima estรก habilitada en el servicio FTP.
Para poder enumerar de una manera mas comoda los archivos mediante ftp, vamos a crearnos una montura con la herramienta curlftpfs.

Encontramos y descargamos la primera flag del directorio Desktop del perfil del usuario Public:

๐ 445 SMB
Dado que no tenemos credenciales, intentamos enumerar informaciรณn mediante sesiรณn anรณnima pero no parece estar habilitada. No hay mucho que rascar aquรญ.
๐ 80 HTTP ( PRTG Network Monitor 18.1.37.13946 )
Accedemos a http://10.10.10.152/ y encontramos un servicio llamado PRTG Network Monitor

PRTG Network Monitor ==es un software de monitorizaciรณn de redes que permite supervisar el rendimiento y la disponibilidad de la infraestructura de TI==. Esta herramienta de Paessler es utilizada para monitorizar dispositivos como servidores, routers, switches, aplicaciones y servicios, asรญ como mรฉtricas como la salud, la disponibilidad, el trรกfico y el ancho de banda
Buscando informaciรณn pรบblica encontramos que las credenciales por defecto de esta aplicaciรณn son:
Username:
prtgadminPassword:
prtgadmin
Pero no parecen funcionar en esta ocasiรณn.
Fuzzing de directorios
Realizamos fuzzing de directorios contra el puerto 80 pero en este caso no encontramos nada.
๐ Anรกlisis de Configuraciรณn
Aprovechando que tenemos acceso a la mรกquina a travรฉs de la sesiรณn anรณnima FTP. Buscamos informaciรณn sobre el servicio PRTG Network Monitor y posibles rutas de interรฉs donde guarda archivos de configuraciรณn:
https://kb.paessler.com/en/topic/463-how-and-where-does-prtg-store-its-data

๐ Obtenciรณn de Credenciales
Es bastante contenido, por lo que podemos descargarlo a nuestro host de ataque y analizarlo detenidamente:
Podemos intentar jugar con grep y algunas expresiones para filtrar por cadenas como "password"

Los siguientes archivos parecen contener la palabra "password". Encontramos unas credenciales en el archivo PRTG Configuration.old.bak

Probamos estas credenciales en el servicio pero no funcionan:

Podemos tratar de hacer "guessing" y dado que el final de la contraseรฑa coincide con el aรฑo, podemos ir probando otros aรฑos para ver si tenemos suerte:
Y logramos acceder al aplicativo y ademรกs enumeramos la versiรณn
๐ฅ Explotaciรณn
Buscamos exploits pรบblicos y encontramos uno que nos permite explotar una ejecuciรณn remota de comandos autenticada.

Mรฉtodo 1 - Usando Exploit pรบblico
Dado que ahora tenemos credenciales, usaremos este exploit.

El script nos pide indicar la url del servicio y una cookie para llevar a acabo la explotaciรณn logrando asรญ crear un usuario en el grupo de administradores llamado pentest cuya contraseรฑa serรก P3nT3st!
Una vez autenticados en Network Monitor podemos usar por ejemplo la extensiรณn Cookie Editor para copiar la cookie en formato Header String:

De tal forma que el comando para ejecutar el exploit nos quedarรญa asรญ:

Mรฉtodo 2 - Explotaciรณn Manual
Navegamos a siguiente opciรณn: Setup -> Accounts Settings -> Notifications

Hacemos scroll hasta abajo y habilitamos la opciรณn Execute Program y especificamos el siguiente payload para la inyecciรณn:

Una vez guardada la notificaciรณn. Volvemos atrรกs a la lista de notificaciones, seleccionamos la nuestra y hacemos click en el botรณn de la campana:


๐ Post-Explotaciรณn
Esperamos unos segundos y ahora ya deberemos confirmar que ha ido bien probando la nueva cuenta de administrador con el servicio SMB:

Usamos impacket para ganar acceso a la mรกquina con la nueva cuenta que hemos creado y obtenemos la flag:

Last updated