
Python-Exploit für CVE-2023-32315, das auf Openfire-Server abzielt. Umgeht die Authentifizierung des Admin-Panels über einen Unicode-Pfad-Traversal-Angriff, um einen administrativen Benutzer zu erstellen, wodurch das Hochladen schädlicher Plugins und der Zugriff auf eine Web-Shell ermöglicht wird.
Die Schwachstelle CVE-2023-32315 betrifft Openfire-Server und ermöglicht es einem Angreifer, das Login des administrativen Web-Panels ohne gültige Anmeldedaten zu umgehen. Der Exploit fügt einen administrativen Benutzer hinzu, wodurch der Angreifer ein schädliches Plugin hochladen und eine Web-Shell erhalten kann.
CVE-2023-32315 ist eine Schwachstelle in Openfire, die den Zugriff auf die JSPs des initialen Konfigurationsassistenten (/setup/setup-s/...) ermöglicht, selbst nachdem dieser abgeschlossen wurde. Dabei wird eine fehlerhafte Pfadvalidierung mittels Path Traversal mit Unicode-/„best-fit“-Kodierung (%u002e%u002e, äquivalent zu ../) anstelle von literalen Zeichen ausgenutzt. Dies ermöglicht es, ohne Authentifizierung auf user-groups.jsp und user-create.jsp zuzugreifen, als ob der Server gerade erst installiert worden wäre, und einen neuen Administratorbenutzer zu erstellen. Das Skript validiert das Ergebnis auf zwei Arten: Es prüft, ob der Benutzer in user-summary.jsp erscheint, und verifiziert, dass die erstellten Anmeldedaten in funktionieren. Einmal im Panel angekommen, wäre der nächste Schritt (außerhalb des Umfangs dieses Skripts) das Hochladen eines schädlichen Plugins, um beliebige Befehle auszuführen.
login.jspgit clone https://github.com/pulentoski/Explotacion-CVE-2023-32315-Openfire.git
cd Explotacion-CVE-2023-32315-Openfire
Es sind keine externen Abhängigkeiten erforderlich — es werden ausschließlich Standardbibliotheken von Python 3 verwendet (http.client, re, time, urllib.parse).
Das Skript ist interaktiv, ohne Befehlszeilen-Flags:
python3 exploit.py
Es fordert dich auf, einen Modus zu wählen:
[1] Objetivo único → ingresas la URL directamente (ej: http://127.0.0.1:9090)
[2] Lista de objetivos → ingresas la ruta a un .txt con una URL por línea
Der Benutzer und das Passwort, die das Skript erstellt (pepe2/pepe2), sind am Anfang des Skripts fest einprogrammiert — ändere sie dort, falls nötig.
📄 Ergebnisse: Die bestätigten Ziele werden in exito.txt gespeichert; schlägt die Überprüfung eines Ziels fehl, wird das Antwort-HTML zur manuellen Prüfung in debug_<usuario>.html gespeichert.
("openfire") && icon_hash=="1211608009"
Dieses Skript ist für kontrollierte Umgebungen und autorisierte Audits gedacht. Der Autor übernimmt keine Haftung für missbräuchliche Verwendung.