Содержание статьи
Эта статья вышла в свет в том числе благодаря Ивану Балашову — идейному вдохновителю абьюза Custom HTML в Confluence.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Легитимные возможности на вооружении у хакера
Знал ли ты, что функция добавления пользовательского HTML (Custom HTML) в настройках администратора впервые появилась в версии Confluence 2.1.5, выпущенной 16 марта 2006 года?
В примечаниях к этому выпуску было прямо указано:
Administrators can insert custom HTML on every Confluence page, see Administration, Custom HTML.
Казалось бы, что тут могло пойти не так?.. Получив права администратора в Confluence, мы не только становимся обладателями ценной информации из корпоративной базы знаний, но и открываем для себя широкие возможности горизонтального перемещения (lateral movement). Confluence — узловая точка, к которой ежедневно обращается множество сотрудников. Внедрив JS-бэкдор в страницу аутентификации, мы получаем доступ к актуальным доменным учеткам (при интеграции Confluence с Active Directory). В итоге компрометация одного веб‑сервиса превращается в трамплин для атаки на весь домен организации.
Подготовительный этап
Получаем доступ к админ-панели
У нас есть два пути попасть в админ‑панель.
- Попробовать найти и проэксплуатировать уязвимость (CVE) в Confluence.
- Зафишить пользователя из группы confluence-administrators.
Эксплуатируем CVE-2022-26134
Эксплуатация CVE-2022-26134 предельно проста: достаточно отправить всего один HTTP-запрос на сервер, чтобы добавить нового пользователя в группу confluence-administrators.

Логинимся с новосозданной админской учеткой.

Вуаля! У нас появился доступ к основным настройкам сервера Confluence.

Если Confluence полностью пропатчен, можно попробовать получить админский доступ другими способами — например, с помощью фишинга.
Фишим с помощью Evilginx2
Альтернативой классическому инструменту Gophish может быть Evilginx2. Ниже пример авторского Evilginx2-фишлета для работы с Confluence.

Такой фишлет позволит перехватить не только логин и пароль жертвы, но и ее валидный сессионный токен.


Дальше можно продолжить работу от имени зафишенной учетки или создать отдельную админскую (например, backup-adm).
Создаем нового пользователя
Первое, что нужно сделать после получения доступа к админ‑панели (неважно, каким способом), — создать новую учетку в группе confluence-users. Для этого жмем на шестеренку в правом верхнем углу и выбираем пункт «Управление пользователями».

Если нужно, снова вводим пароль от используемой админской учетки.

Переходим в раздел «Добавить пользователей», заполняем все поля и нажимаем кнопку «Добавить».


Проверяем, что пользователь успешно добавлен.

Здесь возникает закономерный вопрос: зачем нам вообще создавать отдельного пользователя? Все упирается в механизм эксфильтрации данных. Внедренный JS-бэкдор должен не только перехватить учетные данные, но и передать их нам. Прямая отправка на внешний сервер (например, через Telegram Bot API) была бы идеальной, но политики CORS в современных браузерах и корпоративные файрволы почти гарантированно заблокируют такой запрос.
Чтобы обойти эти ограничения, нужно отправить данные на источник, которому браузер по умолчанию доверяет. А что может быть более доверенным источником, чем сам сервер Confluence?
Создаем приватную вики-страницу
На прошлом шаге мы создали новую учетку backup, мимикрирующую под техническую, а теперь решим, куда JS-бэкдор будет сливать перехваченные логины и пароли. Пусть это будет приватная вики‑страница, принадлежащая нашей новой «технической» учетке. Поэтому логинимся под ней и идем создавать новую заметку.


Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
