
Мы будем использовать Spyse, чтобы найти домены по CVE-2019-3396.
Этап 1. Ищем уязвимые версии программного обеспечения
Нам нужно определить уязвимое ПО. Вот
The Widget Connector macro in Atlassian Confluence Server before version 6.6.12 (the fixed version for 6.6.x), from version 6.7.0 before 6.12.3 (the fixed version for 6.12.x), from version 6.13.0 before 6.13.3 (the fixed version for 6.13.x), and from version 6.14.0 before 6.14.2 (the fixed version for 6.14.x), allows remote attackers to achieve path traversal and remote code execution on a Confluence Server or Data Center instance via server-side template injection.
Полный список уязвимых версий ПО достаточно велик, и его можно найти на
Нам нужны ответы на такие вопросы:
· Как отличить обычный сайт от сервера Atlassian Confluence?
· Как найти конкретную версию приложения?
Чтобы ответить на них, нам нужно проанализировать уязвимую среду и определить уникальные характеристики программного обеспечения (этап 2 и 3).
Этап 2: Воспроизводим уязвимую среду
Образ сервера Confluence доступен на docker-hub, поэтому мы запустим dock-контейнер на нашей локальной машине, выполнив команду:
docker run \ --detach \ --volume /tmp/confluence-data:/var/atlassian/application-data/confluence \ --name="confluence" \ --publish 8090:8090 \ --publish 8091:8091 \ atlassian/confluence-server:6.13.1 |
Эта команда создаст и запустит контейнер с именем confluence на основе образа atlassian /confluence-server версии 6.13.1 (зависит от CVE). В команде указали порты 8090 и 8091 для связи между контейнером и локальным компьютером. Все данные, используемые контейнером, будут храниться в / tmp / confluence-data.
Если не получилось успешно выполнить команду, просмотрите раздел «Возможные проблемы» в конце статьи.
Если выполнение команды успешно, то сервер Confluence должен быть запущен по адресу http: // localhost: 8090 /.

Страница приветствия сервера Atlassian Confluence 6.13.1
Этап 3: Определяем характеристики программного обеспечения
Когда сервер Confluence запущен, откройте инструменты веб-разработчика браузера и найдите в коде HTML версию программного обеспечения.
Проанализировав код мы выясняем, что версия сервера Confluence - 6.13.1. Она определена в мета-теге HTML с именем «ajs-version-number»:

Метатег с номером версии продукта Atlassian
Поскольку Atlassian производит много ПО для веба, можно предположить, что метатег «ajs-version-number» установлен и на других продуктах Atlassian, а не только на серверах Confluence.
Поэтому нам нужна дополнительная информация, чтобы отличить Confluence Server от других продуктов Atlassian.
Мы можем использовать подстроку postfix «Confluence» в заголовке HTML-тега:

«Confluence» postfix в заголовке HTML
Этап 4: Делаем правильный запрос
На этом этапе используем функцию
Попробуем найти домены Confluence Server с версией 6.13.1 и названием сайта Confluence. Для этого устанавливаем следующие поисковые фильтры:
- Domains → Site info → Meta tags → name → equals to → ajs-version-number
- Domains → Site info → Meta tags → value → equals to → 6.13.1 (from env we’ve reproduced)
- Domains → Site info → Title → contains → Confluence
Результаты поиска по версии 6.13.1 и имени тега
Просканировав другую версию появились новые результаты:
- Domains → Site info → Meta tags → name → equals to → ajs-version-number
- Domains → Site info → Meta tags → value → equals to → 6.14.0 (another version from CVE description)
- Domains → Site info → Styles → contains → confluence.web.resources

Результаты поиска по версии 6.14.0 и имени тега
Последний этап: очистка
После завершения исследования рекомендуется очистить вашу систему.
Остановите и удалите контейнер докер сервера Confluence, удалите образ докера и удалите каталог с данными, который использует контейнер:
docker stop confluence \ && docker rm confluence \ && docker rmi atlassian/ confluence-server:6.13.1 \ && sudo rm -rf /tmp/confluence-data/ |
Возможные проблемы
Не удалось создать докер
Имя контейнера должно быть уникальным, поэтому, если вы запустите команду docker-run несколько раз, вы получите ошибку конфликта имен:
docker: Error response from daemon: Conflict. The container name "/confluence" is already in use by container "a5ee220c6e81f2977ab8abc02ea2d26739d9eeee7e881cf6af99ba894bd86d4b". You have to remove (or rename) that container to be able to reuse that name. |
docker rm confluence |
Повторите все этапы заново.