
Python-эксплойт для CVE-2023-32315, обход пути в консоли администратора Openfire, позволяющий неавторизованный доступ к ограниченным страницам. Включает настройку Docker и плагин управления для пост-эксплуатации.
⚠️ Только для образовательных и авторизованных исследований безопасности
Огромная благодарность оригинальному автору PoC phith0n и K3ysTr0K3R
Openfire — это XMPP-сервер, распространяемый под лицензией Open Source Apache License. В консоли администрирования Openfire, веб-приложении, была обнаружена уязвимость path traversal через среду установки. Это позволило неаутентифицированному пользователю использовать неаутентифицированную среду установки Openfire в уже настроенном окружении Openfire для доступа к ограниченным страницам консоли администрирования, предназначенным для администраторов. Данная уязвимость затрагивает все версии Openfire, выпущенные с апреля 2015 года, начиная с версии 3.10.0. Проблема исправлена в выпусках Openfire 4.7.5 и 4.6.8, а дальнейшие улучшения будут включены в первую, еще не выпущенную версию ветки 4.8 (ожидается версия 4.8.0). Пользователям рекомендуется обновить Openfire. Если обновление Openfire недоступно для конкретной версии или не может быть быстро применено, пользователи могут обратиться к связанному уведомлению GitHub (GHSA-gw42-f939-fhvm) для получения рекомендаций по смягчению последствий.
Сначала клонируйте репозиторий
git clone https://github.com/asepsaepdin/CVE-2023-32315.git
Перейдите в директорию
cd CVE-2023-32315
Запустите контейнер
docker compose up
Запустите python-скрипт CVE-2023-32315.py для эксплуатации хоста http://127.0.0.1:9090
python3 CVE-2023-32315.py -u http://localhost:9090
Затем войдите в консоль администрирования с этой учетной записью, и вы увидите, что hugme уже является администратором.
Перейдите на вкладку «Плагины» > «Загрузить плагин» openfire-management-tool-plugin.jar
Перейдите на вкладку «Сервер» > «Настройки сервера» > «Инструмент управления»
Получите доступ к websehll с паролем «123»
Перейдите к «Системная команда» и используйте как командную строку, выполняя только одну команду за раз.