
O plugin Backup Migration para WordPress é vulnerável a Execução Remota de Código em todas as versões até, e incluindo, 1.3.7 através do arquivo /includes/backup-heart.php.
Prova de conceito do exploit para CVE-2023-6553 — uma vulnerabilidade crítica de RCE não autenticada no plugin "Backup Migration" do WordPress (versões ≤ 1.3.7).
O plugin Backup Migration para WordPress é vulnerável a Execução Remota de Comando em todas as versões até, e incluindo, 1.3.7 através do arquivo /includes/backup-heart.php.
A vulnerabilidade existe porque um atacante pode controlar os valores passados para uma instrução PHP include através do cabeçalho HTTP Content-Dir. Ao aproveitar uma cadeia de filtros PHP, um atacante pode injetar código PHP arbitrário sem autenticação — alcançando Execução Remota de Comando completa no servidor.
┌──────────┐ Cabeçalho Content-Dir ┌──────────────────────┐ include() ┌──────────┐
│ Atacante │ ──── Cadeia de Filtros PHP ─▶│ backup-heart.php │ ──────────────▶ │ RCE │
│ │ (sem necessidade de auth) │ (arquivo vulnerável)│ │ no Host │
└──────────┘ └──────────────────────┘ └──────────┘
readme.txtContent-Dir para o endpoint vulnerável.
├── exploit.py # 🎯 Exploit limpo e profissional (modo verbose suportado)
├── fancy_exploit.py # ✨ Versão extravagante — mesmo exploit, vibes melhores
├── php_filter_chain.py # 🔗 Módulo gerador de cadeia de filtros PHP
└── README.md # 📖 Você está aqui
exploit.py — Exploit ProfissionalO script de exploit principal e limpo, projetado para uso profissional em avaliações de segurança e estudos de caso. Recursos incluem:
-v) para saída operacional detalhada-C)fancy_exploit.py — A Versão Extravagante ✨Uma versão mais expressiva do mesmo exploit com personalidade extra. Funcionalmente idêntico ao exploit.py, mas com uma apresentação muito mais colorida:
Nota: Ambos os scripts compartilham lógica de ataque idêntica —
fancy_exploit.pysimplesmente envolve a experiência em uma camada de saída visualmente mais expressiva.
pip# Clone o repositório
git clone https://github.com/<seu-usuario>/CVE-2023-6553.git
cd CVE-2023-6553
# Instale as dependências
pip install -r requirements.txt
Nota:
php_filter_chain.pyé um módulo local incluído no repositório — nenhuma instalação adicional necessária.
exploit.py
# Verificar se um alvo é vulnerável (apenas reconhecimento)
python3 exploit.py -u http://target.com -C
# Explorar e executar um comando
python3 exploit.py -u http://target.com -c id
# Verificar vulnerabilidade primeiro, depois explorar
python3 exploit.py -u http://target.com -C -c whoami
# Modo verbose para saída detalhada
python3 exploit.py -u http://target.com -c id -v
fancy_exploit.py
# Verificar se um alvo é vulnerável
python3 fancy_exploit.py -u http://target.com -C
# Explorar e executar um comando
python3 fancy_exploit.py -u http://target.com -c id
# Verificar primeiro, depois explorar se vulnerável
python3 fancy_exploit.py -u http://target.com -C -c whoami
Content-Dir suspeitosEsta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais.
O acesso não autorizado a sistemas de computador é ilegal sob leis como o Computer Fraud and Abuse Act (CFAA), o Computer Misuse Act e legislação similar em todo o mundo. O autor não assume nenhuma responsabilidade pelo uso indevido deste software.
Use esta ferramenta apenas em sistemas que você possui ou para os quais tem autorização explícita por escrito para testar.
Autor: Phantom Hat
Apenas para testes de penetração autorizados e pesquisa de segurança.
| Propriedade | Detalhe |
|---|
| CVE ID | CVE-2023-6553 |
| Pontuação CVSS | 9.8 / 10 — Crítico |
| Vetor CVSS | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CWE | CWE-94 — Controle inadequado de geração de código |
| Plugin Afetado | Backup Migration (slug: backup-backup) |
| Versões Afetadas | ≤ 1.3.7 |
| Autenticação | Nenhum necessário (Não autenticado) |
| Descoberto Por | Wordfence |
| Flag | Descrição |
|---|
-u, --url | (Obrigatório) URL do WordPress alvo |
-c, --command | Comando do SO a executar pós-exploração |
-C, --check | Verificar status da vulnerabilidade sem explorar |
-v, --verbose | Ativar saída verbose (apenas exploit.py) |
| Fase | Nome | Descrição |
|---|
| 1 | 🔍 Reconhecimento | Busca readme.txt para detectar a versão do plugin instalado |
| 2 | 🧪 Geração de Payload | Constrói uma cadeia de filtros PHP que decodifica para um dropper de webshell |
| 3 | 💣 Entrega do Exploit | Envia o payload para backup-heart.php via cabeçalho Content-Dir |
| 4 | 🚀 Execução de Comando | Aciona o webshell implantado com o comando do SO especificado |