
Este repositório inclui dois scripts de PoC para CVE-2025-57819 no FreePBX: um para criar um novo usuário administrador (poc_admin.py), e outro para extrair credenciais usando sqlmap (poc_auto_get_username_pass.py). Apenas para uso educacional e autorizado.
Este repositório contém dois scripts de Prova de Conceito (PoC) em Python direcionados à CVE-2025-57819, uma vulnerabilidade crítica de injeção SQL não autenticada no FreePBX.
A CVE-2025-57819 afeta múltiplas versões do FreePBX e permite que atacantes remotos não autenticados executem consultas SQL arbitrárias através de um parâmetro vulnerável em admin/ajax.php.
A falha existe devido à insuficiência de sanitização de entrada no endpoint module=FreePBX\modules\endpoint\ajax, que permite injeção SQL direta nas consultas do backend.
| Arquivo | Descrição |
|---|---|
poc_admin.py | Cria um novo usuário administrador via injeção SQL bruta |
poc_auto_get_username_pass.py | Automatiza a extração em massa de credenciais usando sqlmap em múltiplos alvos |
poc_admin.py – Adicionar Usuário AdministradorEste script envia uma consulta SQL especialmente criada para criar um novo usuário administrador no FreePBX.
requests (pip install requests)python3 poc_admin.py http://target/
[+] Criando usuário admin: orange0Mint_k9l3zq / X9sfL30wlKp1
[+] Concluído. Tente fazer login em: http://target/admin/config.php
[+] Credenciais -> Username: orange0Mint_k9l3zq | Password: X9sfL30wlKp1
poc_auto_get_username_pass.py – Extrair Credenciais via SQLMapEste script utiliza sqlmap para extrair nomes de usuário e hashes de senha da tabela vulnerável ampusers em múltiplos alvos.
sqlmap clonado localmente como sqlmap-master/Cada linha no arquivo deve ser uma URL base:
http://192.168.1.100/
http://pbx.example.com:8080/
python3 poc_auto_get_username_pass.py targets.txt
log/target.txtstop.txt--batch e --ignore-code=404 no SQLMapTodos os resultados do sqlmap serão salvos no diretório log/, nomeados pelo host do alvo:
log/
├── 192.168.1.100.txt
├── pbx.example.com_8080.txt
/admin/ajax.phpEste PoC é fornecido apenas para fins educacionais e de testes de penetração autorizados.
Não utilize este código contra sistemas que você não possui ou para os quais não tem permissão explícita para testar.
O autor não se responsabiliza pelo uso indevido ou danos causados por este script.
orange0Mint
GitHub: https://github.com/orange0Mint
| Versão |
|---|
| Status |
|---|
| ≤ 15.0.65 | Vulnerável |
| ≤ 16.0.88 | Vulnerável |
| ≤ 17.0.2 | Vulnerável |
| ≥ 15.0.66 | Corrigida |
| ≥ 16.0.89 | Corrigida |
| ≥ 17.0.3 | Corrigida |