NETMON
- Layout for this exercise:
1 - INTRODUCTION
- The goal of this exercise is to develop a hacking process for the vulnerable machine Netmon, what is a machine from the Hack the Box pentesting platform:
https://www.hackthebox.eu
2 - ENUMERATION
2.1 - Scanning ports
- The IP for Netmon is 10.10.10.152:
- Scanning ports with Nmap:
- Going deeper with port 21 we find Anonymous login FTP:
- Going deeper with port 80 we find PRTG Network Monitor (NETMON):
- PRTG Network Monitor (Paessler Router Traffic Grapher) is an agentless network monitoring software from Paessler AG.
- It can monitor and classify system conditions like bandwidth usage or uptime and collect statistics from miscellaneous hosts as switches, routers, servers and other devices and applications.
https://en.wikipedia.org/wiki/PRTG_Network_Monitor
2.2 - FTP enumeration
- Let's use the Anonymous login FTP:
- The 1st flag user.txt is publicily available:
- Looking for online information about where PRTG stores information:
https://kb.paessler.com/en/topic/463-how-and-where-does-prtg-store-its-data
- Going to ProgramData\Paessler\PRTG Network Monitor:
- There is a backup from an old configurarion file:
- Downloading to Kali the PRTG Configuration.old.bak:
3 - GETTING CREDENTIALS FROM BACKUP CONFIGURATION FILE
- Reading the backup file we find interesting credentials prtgadmin:PrTg@dmin2018:
..................................................................
...................................................................
- Let's use these credentials to access the PRTG administration console:
- Browsing to port 80 when entering prtgadmin:PrTg@dmin2018 the authentication fails:
- Maybe because we are in 2019 instead of 2018? Yes, changing to prtgadmin:PrTg@dmin2019 the authentication works:
4 - EXPLOITING THE PRTG NETWORK MONITOR
- It seems that the installed version is 18.1.37:
- There is an exploit associated with PRTG Network Monitor 18.2.38 because this version is vulnerable to Remote Code Execution, maybe it can be useful for our purposes:
https://www.exploit-db.com/exploits/46527
- The directions about how to use the exploit are clear:
- Before starting the attack let's copy locally the exploit, and also give it execution permissions:
- Running without options we learn how to use the exploit:
- So according with the instructions first of all we need to authenticate with previously discovered credentials prtgadmin:PrTg@dmin2019 and grab the authentication cookie, for instance intercepting with Burp:
- Inserting the authentication cookie as an option for the exploit:
- Finally, a user pentest is successfully created with password P3nT3st! and added to the Admnistrators group.
5 - GETTING A REMOTE SHELL
- Once we have the credentials pentest:P3nT3st! we can achieve a remote shell with the script psexec.py:
- As expected, the shell has full privileges:
6 - CAPTURING THE 1st FLAG
- Reading user.txt:
7 - CAPTURING THE 2nd FLAG
- Reading root.txt: