
Exploit Python pour CVE-2023-32315, une traversée de chemin dans la console d'administration d'Openfire, permettant un accès non authentifié à des pages restreintes. Comprend une configuration Docker et un plugin de gestion pour la post-exploitation.
⚠️ À des fins éducatives et de recherche en sécurité autorisée uniquement
Très reconnaissant envers l'auteur original du PoC phith0n et K3ysTr0K3R
Openfire est un serveur XMPP sous licence Apache Open Source. La console d'administration d'Openfire, une application Web, s'est avérée vulnérable à une attaque de traversée de chemin via l'environnement d'installation. Cela a permis à un utilisateur non authentifié d'utiliser l'environnement d'installation non authentifié d'Openfire dans un environnement Openfire déjà configuré pour accéder à des pages restreintes de la console d'administration réservées aux administrateurs. Cette vulnérabilité affecte toutes les versions d'Openfire publiées depuis avril 2015, à partir de la version 3.10.0. Le problème a été corrigé dans les versions 4.7.5 et 4.6.8 d'Openfire, et des améliorations supplémentaires seront incluses dans la première version à venir de la branche 4.8 (qui devrait être la version 4.8.0). Il est conseillé aux utilisateurs de mettre à jour. Si une mise à jour d'Openfire n'est pas disponible pour une version spécifique, ou si elle n'est pas rapidement réalisable, les utilisateurs peuvent consulter l'avis GitHub lié (GHSA-gw42-f939-fhvm) pour des conseils d'atténuation.
Tout d'abord, clonez le dépôt
git clone https://github.com/asepsaepdin/CVE-2023-32315.git
Changez de répertoire
cd CVE-2023-32315
Laissez le conteneur démarrer
docker compose up
Exécutez le script Python CVE-2023-32315.py pour exploiter l'hôte http://127.0.0.1:9090
python3 CVE-2023-32315.py -u http://localhost:9090
Ensuite, connectez-vous à la console d'administration avec ce compte, et vous verrez que hugme est déjà administrateur.
Allez dans l'onglet plugin > téléchargez le plugin openfire-management-tool-plugin.jar
Allez dans l'onglet serveur > paramètres du serveur > Outil de gestion
Accédez au websehll avec le mot de passe "123"
Allez dans 'system command' et utilisez-le comme s'il s'agissait de la ligne de commande, en n'utilisant qu'une seule commande à la fois