
Exploit Python pour CVE-2023-32315 ciblant les serveurs Openfire. Contourne l'authentification du panneau d'administration via un parcours de chemin Unicode afin de créer un utilisateur administratif, permettant le téléchargement de plugins malveillants et l'accès à un web shell.
La vulnérabilité CVE-2023-32315 affecte les serveurs Openfire, permettant à un attaquant de contourner la connexion du panneau d'administration web sans informations d'identification valides. L'exploit ajoute un utilisateur administratif, permettant à l'attaquant de charger un plugin malveillant et d'obtenir un shell web.
CVE-2023-32315 est une vulnérabilité dans Openfire qui permet d'accéder aux JSP de l'assistant de configuration initiale (/setup/setup-s/...)
même après son achèvement, en exploitant une mauvaise validation des chemins via un path traversal avec encodage Unicode/"best-fit"
(%u002e%u002e, équivalent à ../), au lieu de caractères littéraux. Cela permet d'atteindre user-groups.jsp et user-create.jsp sans authentification,
comme si le serveur venait d'être installé, et de créer un nouvel utilisateur administrateur. Le script valide le résultat de deux manières : en vérifiant si
l'utilisateur apparaît dans user-summary.jsp, et en vérifiant que les identifiants créés fonctionnent dans . Une fois dans le panneau, la
prochaine étape (hors du cadre de ce script) serait de téléverser un plugin malveillant pour exécuter des commandes arbitraires.
login.jspgit clone https://github.com/pulentoski/Explotacion-CVE-2023-32315-Openfire.git
cd Explotacion-CVE-2023-32315-Openfire
Aucune dépendance externe requise — utilise uniquement les bibliothèques standard de Python 3 (http.client, re, time, urllib.parse).
Le script est interactif, sans flags de ligne de commande :
python3 exploit.py
Il vous demandera de choisir un mode :
[1] Cible unique → vous saisissez l'URL directement (ex : http://127.0.0.1:9090)
[2] Liste de cibles → vous saisissez le chemin vers un .txt avec une URL par ligne
Le nom d'utilisateur/mot de passe qu'il crée (pepe2/pepe2) est codé en dur au début du script — modifiez-le là si nécessaire.
📄 Résultats : les cibles confirmées sont enregistrées dans exito.txt ; si une cible échoue à la vérification, le HTML de réponse est enregistré dans debug_<usuario>.html pour examen manuel.
("openfire") && icon_hash=="1211608009"
Ce script est conçu pour des environnements contrôlés et des audits autorisés. L'auteur décline toute responsabilité en cas d'utilisation abusive.