
🌀 CVE‑2026‑64638 – Suíte de Segurança WordPress XSS2Shell

⚠️ APENAS USO ÉTICO – TESTE DE SEGURANÇA AUTORIZADO
Este repositório fornece ferramentas exclusivamente para profissionais de segurança autorizados, blue teams e pentesters.
O acesso não autorizado a sistemas informáticos é ilegal ao abrigo da CFAA (EUA), Computer Misuse Act (Reino Unido), TCK 243/244 (Turquia) e leis semelhantes em todo o mundo.
📖 Visão Geral da Vulnerabilidade
CVE‑2026‑64638 é uma vulnerabilidade crítica de XSS refletido pré-autenticação nas versões 4.7.0 a 7.0.2 do WordPress que permite a um atacante escalar um ataque de XSS para execução remota de código (RCE) total através do recurso Application Password.
Como funciona
- Parser Differential – o
strip_tags() do PHP e o wp_kses_post() do WordPress analisam tags HTML de forma diferente, permitindo que entrada maliciosa ultrapasse a sanitização.
- XSS Refletido – um atacante injeta um payload especialmente criado no formulário de login (
wp-login.php). Quando o login falha, o payload é refletido de volta e executado no navegador da vítima.
- Abuso da Application Password – o JavaScript injetado gera automaticamente uma Application Password através da REST API do WordPress, exfiltrando-a para o atacante.
- Upload de Plugin (RCE) – usando a Application Password capturada, o atacante autentica-se no painel administrativo e envia um plugin malicioso contendo uma webshell.
- Comprometimento Total do Sistema – a webshell permite a execução de comandos no sistema, possibilitando reverse shells, persistência, movimento lateral e tomada total do servidor.
Versões Afetadas
- WordPress 4.7.0 – 7.0.2 – vulnerável
- WordPress 7.0.3 e posteriores – corrigida
- Atualizações de segurança foram retroportadas para todos os ramos mantidos
Correção
- Atualize para o WordPress 7.0.3 ou mais recente.
- Se não for possível atualizar, desative o recurso Application Password como solução temporária.
🧰 Ferramentas
| Ferramenta | Objetivo | Público-alvo |
|---|
exploit.py | Conjunto completo de exploração com reverse shell, persistência, C2, escalada de privilégios, análise forense de memória, dump da base de dados, extração de chaves SSH e varredura em massa. | Red teams / pentesters autorizados |
safecheck.py | Verificador de vulnerabilidades não intrusivo que deteta a reflexão de XSS e avalia a postura de segurança sem executar qualquer payload malicioso. Gera relatórios detalhados. | Blue teams / auditores de segurança |
📊 Comparação de Recursos
| Recurso | exploit.py | safecheck.py |
|---|
| Deteção de vulnerabilidades | ✅ | ✅ |
| Deteção da versão do WordPress | ✅ | ✅ |
| Deteção de reflexão de XSS | ✅ | ✅ |
| Captura de Application Password | ✅ | ❌ |
| Upload de plugin (RCE) | ✅ | ❌ |
| Reverse shell | ✅ | ❌ |
| Beaconing C2 (HTTP/DNS/Telegram) | ✅ | ❌ |
| Escalada de privilégios | ✅ | ❌ |
| Análise forense de memória | ✅ | ❌ |
| Dump da base de dados | ✅ | ❌ |
| Extração de chaves SSH | ✅ | ❌ |
| Métodos de persistência | ✅ | ❌ |
| Auditoria de cabeçalhos de segurança | ❌ | ✅ |
| Verificação de exposição de ficheiros de configuração | ❌ | ✅ |
| Verificação de listagem de diretórios | ❌ | ✅ |
| Verificação de exposição do phpinfo | ❌ | ✅ |
| Varredura em massa | ✅ | ✅ |
| Suporte a proxy | ✅ | ✅ |
| Suporte a Tor | ✅ | ✅ |
| Tunelamento Ngrok | ✅ | ❌ |
| Shell interativo | ✅ | ❌ |
| Modo não intrusivo (seguro) | ❌ | ✅ |
| Saída JSON / relatório | ✅ | ✅ |
🎯 Resumo de Casos de Uso
| Cenário | Ferramenta Recomendada |
|---|
| Blue Team – verificar se a sua instalação do WordPress está vulnerável | safecheck.py |
| Auditoria de Segurança – avaliação não intrusiva de vulnerabilidades | safecheck.py |
| Red Team – testes de penetração autorizados com exploração total | exploit.py |
| Bug Bounty – teste de divulgação responsável | safecheck.py |
| Varredura em Massa – verificar vários alvos quanto a vulnerabilidade | exploit.py ou safecheck.py |
| Resposta a Incidentes – verificar se os sistemas estão comprometidos | safecheck.py |
| Pós-Exploração Avançada – persistência, C2, forense | exploit.py |
⚙️ Instalação
git clone https://github.com/tc4dy/CVE-2026-64638-PoC-Exploit
cd CVE-2026-64638-PoC-Exploit
pip install -r requirements.txt
requirements.txt
requests
urllib3
#ops
pymysql
mysql-connector-python
PySocks
requests[socks]
📋 Parâmetros
Parâmetros do exploit.py
| Parâmetro | Descrição |
|---|
-t, --target | URL do WordPress alvo (ex.: https://wordpress-site.com) |
-l, --list | Ficheiro contendo lista de alvos (um por linha) para varredura em massa |
--lhost | Endereço IP local para callbacks de reverse shell |
--lport | Porta local para reverse shell (padrão: 4444) |
--proxy | Proxy HTTP/HTTPS (ex.: http://127.0.0.1:8080) |
--timeout | Timeout do pedido em segundos (padrão: 10) |
--retry | Número de tentativas (padrão: 3) |
--threads | Número de threads para varredura em massa (padrão: 5) |
--exploit | Explorar automaticamente alvos vulneráveis durante a varredura em massa |
--ngrok-token | Authtoken do Ngrok para tunelamento externo |
--payload-type | Tipo de payload XSS: reflected, dom_based, waf_bypass, case_manipulation, double_encoded |
--session-hijack | Ativar sequestro de sessão (roubar cookies de administrador) |
--dump-db | Despejar a base de dados do WordPress (requer pymysql) |
--extract-ssh | Extrair chaves SSH do sistema alvo |
--tor | Encaminhar tráfego através do Tor (socks5h://127.0.0.1:9050) |
--stealth | Ativar modo stealth (spoofar cabeçalhos, atrasar pedidos) |
--no-cleanup | Ignorar limpeza de logs após a exploração |
--ssl-verify | Verificar certificados SSL |
--c2-type | Tipo de C2: http, dns, telegram |
--c2-server | URL do servidor C2 ou token do bot do Telegram |
--auto-priv-esc | Escalada automática de privilégios após a shell |
--memory-forensics | Ativar módulo de análise forense de memória |
-v, --verbose | Saída detalhada |
-q, --quiet | Modo silencioso (saída mínima) |
Parâmetros do safecheck.py
| Parâmetro | Descrição |
|---|
-t, --target | URL do WordPress alvo (ex.: https://wordpress-site.com) |
-l, --list | Ficheiro contendo lista de alvos (um por linha) para varredura em massa |
--timeout | Timeout do pedido em segundos (padrão: 10) |
--retry | Número de tentativas (padrão: 3) |
--threads | Número de threads para varredura em massa (padrão: 5) |
--proxy | Proxy HTTP/HTTPS (ex.: http://127.0.0.1:8080) |
--tor | Encaminhar tráfego através do Tor (socks5h://127.0.0.1:9050) |
--ssl-verify | Verificar certificados SSL |
--output | Ficheiro de relatório JSON de saída |
-v, --verbose | Saída detalhada |
-q, --quiet | Modo silencioso (saída mínima) |
💥 Cenários