
Exploit en Python para CVE-2023-32315, un path traversal en la consola de administración de Openfire, que permite acceso no autenticado a páginas restringidas. Incluye configuración de Docker y un complemento de gestión para post-explotación.
⚠️ Solo para fines educativos y de investigación de seguridad autorizada
Muy agradecidos al autor original del PoC phith0n y a K3ysTr0K3R
Openfire es un servidor XMPP bajo la licencia de código abierto Apache. Se descubrió que la consola administrativa de Openfire, una aplicación basada en web, era vulnerable a un ataque de path traversal a través del entorno de configuración. Esto permitía que un usuario no autenticado utilizara el Entorno de Configuración de Openfire no autenticado en un entorno Openfire ya configurado para acceder a páginas restringidas de la Consola de Administración de Openfire reservadas para usuarios administrativos. Esta vulnerabilidad afecta a todas las versiones de Openfire lanzadas desde abril de 2015, comenzando con la versión 3.10.0. El problema se ha corregido en las versiones 4.7.5 y 4.6.8 de Openfire, y se incluirán mejoras adicionales en la primera versión aún no publicada de la rama 4.8 (que se espera sea la versión 4.8.0). Se recomienda a los usuarios actualizar. Si una actualización de Openfire no está disponible para una versión específica, o no se puede aplicar rápidamente, los usuarios pueden consultar el aviso de GitHub vinculado (GHSA-gw42-f939-fhvm) para obtener recomendaciones de mitigación.
Primero, clona el repositorio
git clone https://github.com/asepsaepdin/CVE-2023-32315.git
Cambia de directorio
cd CVE-2023-32315
Deja que el contenedor se inicie
docker compose up
Ejecuta el script de Python CVE-2023-32315.py para explotar el host http://127.0.0.1:9090
python3 CVE-2023-32315.py -u http://localhost:9090
Luego inicia sesión en la consola de administración con esta cuenta y podrás ver que hugme ya es administrador.
Ve a la pestaña de plugins > sube el plugin openfire-management-tool-plugin.jar
Ve a la pestaña servidor > configuración del servidor > Herramienta de administración
Accede a la webshell con la contraseña "123"
Ve a ‘system command’ y utilízalo como si fuera la línea de comandos; usa solo un comando a la vez