PRTG Network Monitor
PRTG Network Monitor is a network monitoring software developed by Paessler AG. It is used for monitoring network performance, server health, bandwidth usage, and infrastructure components. PRTG provides a web-based interface and supports various monitoring protocols like SNMP, WMI, NetFlow, and HTTP requests.
Tech Stack of PRTG Network Monitor
- Backend: C++, Delphi
- Frontend: HTML, CSS, JavaScript (Web-based dashboard)
- Database: Uses an internal proprietary database (SQLite-like) for storing monitoring data
- Server: Runs on Windows Server, uses an embedded web server but can integrate with IIS
File Structure
C:\Program Files (x86)\PRTG Network Monitor\
│── PRTG Server.exe # Main executable for PRTG core server
│── PRTG Probe.exe # Local probe for monitoring sensors
│── PRTG Configuration.dat # Main configuration file (contains credentials, settings)
│── PRTG Graph Data.dat # Stores historical monitoring data
│── Logs\ # Log files for server and probes
│ ├── PRTG Server Log.log # Server logs (potential information leakage)
│ ├── PRTG Probe Log.log # Local probe logs
│── Monitoring Database\ # Stores sensor data and monitoring history
│── WebRoot\ # Web interface files (HTML, JavaScript, and templates)
│── Custom Sensors\ # Custom scripts and sensors for monitoring
│── Report Templates\ # Templates for generating reports
│── Auto-Update\ # Auto-update service files
│── Notification Templates\ # Email, SMS, and push notification configurations
│── PRTG Installer.exe # Installer for PRTG Network Monitor
│── LICENSE.txt # License and terms of use
│── README.txt # Basic information about PRTG
Enumeration
- We could find PRTG Network Monitor on the internal network, which can be discovered by scanning ports on the host.
- Default Credentials:
prtgadmin:prtgadmin - If credentials are changed we could try bruteforcing for common passwords.
- We can find version number in footer.
Known Vulnerability
Authenticated Command Injection (before 18.2.39)
- If we create a new notification, the
Parameterfield is passed into PowerShell script directly. Setup(top right) >Account Settings>Notifications- Then click
+ Add new notification - Fill in the Notification name, enable "
Execute program", and then select aPS1 scriptunder the "Program File" option. - In the "
Parameter" field, add your command (e.g., a reverse shell PowerShell script, adding a new user, etc.) like:ok.txt;REVSHELL-PAYLOAD-HERE. - Save it and click the "Send a test notification" button.