Содержание статьи
Эта статья вышла в свет в том числе благодаря Ивану Балашову — идейному вдохновителю абьюза 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-бэкдор будет сливать перехваченные логины и пароли. Пусть это будет приватная вики‑страница, принадлежащая нашей новой «технической» учетке. Поэтому логинимся под ней и идем создавать новую заметку.


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