
Questo repository include due script PoC per CVE-2025-57819 in FreePBX: uno per creare un nuovo utente amministratore (poc_admin.py), e un altro per estrarre credenziali usando sqlmap (poc_auto_get_username_pass.py). Solo per uso educativo e autorizzato.
Questo repository contiene due script Proof-of-Concept (PoC) in Python che mirano a CVE-2025-57819, una vulnerabilità critica di iniezione SQL non autenticata in FreePBX.
CVE-2025-57819 colpisce diverse versioni di FreePBX e consente a aggressori remoti non autenticati di eseguire query SQL arbitrarie tramite un parametro vulnerabile in admin/ajax.php.
Il difetto esiste a causa di una sanitizzazione insufficiente degli input nell'endpoint module=FreePBX\modules\endpoint\ajax, che permette l'iniezione SQL diretta nelle query del backend.
| Versione | Stato |
|---|---|
| ≤ 15.0.65 | Vulnerabile |
| ≤ 16.0.88 | Vulnerabile |
| ≤ 17.0.2 | Vulnerabile |
| ≥ 15.0.66 | Corretta |
| ≥ 16.0.89 | Corretta |
| ≥ 17.0.3 | Corretta |
| File | Descrizione |
|---|---|
poc_admin.py | Crea un nuovo utente amministratore tramite iniezione SQL diretta |
poc_auto_get_username_pass.py | Automatizza l'estrazione massiva di credenziali usando sqlmap su più target |
poc_admin.py – Aggiungi utente amministratoreQuesto script invia una query SQL appositamente costruita per creare un nuovo utente amministratore di FreePBX.
requests (pip install requests)python3 poc_admin.py http://target/
[+] Creazione utente amministratore: orange0Mint_k9l3zq / X9sfL30wlKp1
[+] Fatto. Prova ad accedere a: http://target/admin/config.php
[+] Credenziali -> Nome utente: orange0Mint_k9l3zq | Password: X9sfL30wlKp1
poc_auto_get_username_pass.py – Dump delle credenziali tramite SQLMapQuesto script usa sqlmap per estrarre nomi utente e hash delle password dalla tabella ampusers vulnerabile su più target.
sqlmap clonato localmente come sqlmap-master/Ogni riga del file deve essere un 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 in SQLMapTutti i risultati di sqlmap verranno salvati nella directory log/, con il nome host del target:
log/
├── 192.168.1.100.txt
├── pbx.example.com_8080.txt
/admin/ajax.phpQuesto PoC è fornito esclusivamente a scopo educativo e per test di penetrazione autorizzati.
Non utilizzare questo codice contro sistemi di cui non si possiede la proprietà o senza autorizzazione esplicita.
L'autore non è responsabile per l'uso improprio o per i danni causati da questo script.
orange0Mint
GitHub: https://github.com/orange0Mint