Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
openmeetings-stale-install-admin — Apache OpenMeetings 9.1.0 — высокий уровень — удалённо — остаточные привилегии — устаревший /install wizard добавляет второго ADMIN | Kitploit
Инструменты/GitHubGitHub/abraxas/openmeetings-stale-install-admin
Аутентификация и авторизацияПовышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийЛаборатории и Практика
GitHubabraxas/openmeetings-stale-install-admin

openmeetings-stale-install-admin

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Apache OpenMeetings 9.1.0 — высокий уровень — удалённо — остаточные привилегии — устаревший /install wizard добавляет второго ADMIN

Репозиторий
2 дней назадЕщё не проверено

Abraxas Labs - openmeetings-stale-install-admin

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  openmeetings-stale-install-admin

openmeetings-stale-install-admin

Класс: Остаточные привилегии Доступ: Удалённый

Apache OpenMeetings 9.1.0 (9773c59e) - Apache Software Foundation

InstallWizardPage перенаправляет новые запросы после isInstalled(). Страница Wicket, открытая до первой установки, остаётся активной. Завершение на этой устаревшей сессии запускает loadAll(cfg, true). ImportInitvalues.checkInstalled записывает в лог "no need to install" и не возвращает управление. Второе завершение вставляет ещё одного пользователя ADMIN+SOAP.

IDCVE пока нет
КлассОстаточные привилегии
ДоступУдалённый (неаутентифицированный /install во время первой настройки)
CWECWE-367, CWE-269
CVSSВысокий: 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
ПродуктApache OpenMeetings
Затронуто9.1.0 (9773c59e1af327bf988018e661f456ae9997c29f) окно первой установки
Аутентификацияотсутствует на устаревшей сессии мастера
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1:18159. Официальный tarball 9.1.0, не установлен, HTTP 5080.

Я зафиксировал тег 9.1.0, peel 9773c59e1af327bf988018e661f456ae9997c29f. Для остаточной уязвимости нужна страница мастера, открытая до завершения первой установки.

Что может сделать атакующий

Обратиться к /openmeetings/install, пока экземпляр ещё не установлен. Сохранить этот JSESSIONID. Дождаться, пока оператор завершит первую установку. Отправить POST Finish на устаревшей странице.

МетодТочка срабатыванияПривилегия
Устаревший POST завершения мастера (wizard-form-buttons-finish)ImportInitvalues.checkInstalled пишет в лог и продолжает (ImportInitvalues.java:607-612); loadInitUserAndGroupЦелостность (доказано в лаборатории): второй пользователь staleadm с правами ADMIN, SOAP, LOGIN, DASHBOARD, ROOM. Вход по SOAP успешен. Количество пользователей = 2.
Тот же loadAll(cfg, true)персистентность / SMTP / пути из устаревшей формыЦелостность (предположительно): перезапись persistence.xml и настроек почты из контролируемых атакующим полей мастера. Не требуется для SUCCESS.

Доказано в лаборатории vs предположительно: второй вход ADMIN+SOAP — лабораторно. Перезапись persistence.xml — предположительно, на основе loadAll.

Требуется: атакующий запросил /install до isInstalled(). Затем оператор завершил установку. Тот же id страницы Wicket всё ещё отправляется. Официальный docker-образ уже установлен, поэтому это окно первого запуска tarball (и любой переустановки).

Смежная поверхность, которая остаётся закрытой

ПоверхностьПочему
Свежий GET /install после установкиконструктор перенаправляет на /signin (InstallWizardPage.java:31-34). В лаборатории: новая сессия попала на signin.
Неаутентифицированный вход по SOAP до установкиhealth installed=false; вход не удаётся до завершения мастера.
Tomcat manager / H2 consolemanager исключён, H2 console отключён на этой фиксации.

Как я это нашёл

Блокировка в конструкторе выглядит как полное исправление для "установки после установки". checkInstalled по-прежнему только пишет в лог. Wicket хранит страницу в сессии. Сессия, пересёкшая isInstalled(), сохраняет кнопку Finish, которая всё ещё вызывает loadAll.

admin.sh -i — это вторая JVM, и она не загружает Tomcat CryptProvider, поэтому в этой лаборатории используется второй веб-мастер в качестве первого установщика, а устаревшая страница — в качестве атакующего.

Лаборатория

cd lab
./run.sh

Loopback http://127.0.0.1:18159/openmeetings. Последняя строка-свидетель:

SUCCESS OPENMEETINGS-STALE-INSTALL-WITNESS

Предлагаемое исправление

checkInstalled должен возвращать (или выбрасывать исключение), если уже установлено. Привяжите Finish к одноразовому токену установки. Удалите страницу Wicket из сессии, когда isInstalled() меняет значение. Не вставляйте второго ADMIN из loadInitUserAndGroup, если администратор уже существует.

Контакты

Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]

Поставщик: [email protected]

Скачать инструмент