Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Выявление инцидентов и противодействие атакам на объекты критической информационной инфраструктуры

..pdf
Скачиваний:
83
Добавлен:
05.02.2023
Размер:
14.77 Mб
Скачать

Далее проверяем закрылась ли уязвимость (рисунок 9).

Рисунок 9 – Смена пароля

2. XSS (уязвимость CVE-2019-17427).

С помощью IDS отследим события высокой важности.

Рисунок 10 – События высокой важности

Заметим, что часто фигурирует ip-адрес 10.10.2.15. Это может свидетельствовать об атаке на этот адрес.

Проведём анализ pcap-файла, на которое сработало правило.

131

Рисунок 11 - Анализ pcap-файла, на которое сработало правило

Зайдём на сервер redmine.ampire.corp. Войдём на сайт за пользователя dev1. Данные для входа можно найти в файле, расположенном на рабочем столе.

Рисунок 12 – Авторизация на сайте за пользователя dev1

132

После этого перейдём на страницу Wiki для проcмотра находящегося там кода.

Рисунок 13 – Код, находящийся на страницы Wiki пользователя dev1

Данный код включает REST API, если выполняется с учетной записи admin.

На странице Wiki можно написать код. Так, например, можно написать код, который будет выводить XSS при нажатии на поле Wiki.

Рисунок 14 - Пример добавление кода, выводящего на экран надпись XSS в wiki страницу

133

Рисунок 15 – Выведенная надпись

Перейдём на сайт по адресу 10.10.2.15. Проверим, включён ли REST API, так как он может использоваться для эксплуатации уязвимости. Для этого авторизуемся на сайте. Необходимо войти за администратора. Данные для входа можно найти в файле, расположенном на рабочем столе.

Рисунок 16 - Включенное API в админке сайта

Проверим, какая версия стоит на сервере.

134

Рисунок 17 – Установленная версия Redmine.

В нашем случае используется версия Redmine 3.3.4.stable. Данная версия уязвима для CVE. Просмотрим уязвимости CVE для нашей версии.

Рисунок 18 – Перечень уязвимостей CVE для нашей версии

Более детально рассмотрим уязвимость XSS в Redmine.

135

Рисунок 19 – Детальное описание уязвимости XSS в Redmine

На github существует более подробное описание данной уязвимости.

Для просмотра этого описания перейдём по адресу github.com/RealLinkers/CVE-2019-17427.

Рисунок 20 – Подробное описание уязвимости XSS в Redmine на сайте github

136

Чтобы получить ещё больше информации об этой уязвимости произведём запрос в google, как показано на рисунке ниже.

Рисунок 21 – Запрос в google

Перейдём по третьей ссылке.

Рисунок 22 – Страница описания уязвимости

137

Здесь представлена информация о нашей уязвимости, а также ссылка на git debian, где сказано, как исправить уязвимость.

Из описания уязвимости понятно, что нужно искать библиотеку для преобразования textile разметки в html. В Redmine за это отвечает Redcloth

(файл redcloth3.rb в папке /var/www/redmine/lib).

Рисунок 23 – Содержимое файла redcloth3.rb

Нас интересуют последние 5 строк. Перейдём по ссылке на git debian, указанной выше.

138

Рисунок 24 – Fix для CVE-2-19-17427

Обратим внимание на изменения в файле redcloth3.rb.

Красным помечена та часть кода, которую необходимо убрать, а

зелёной – которую необходимо добавить. Добавим этот патч в исходник файла redcloth3.rb.

139

Рисунок 25 – Добавление патча в исходник файла redcloth3.rb

На забываем перезапустить nginx.

Рисунок 26 – Перезапуск nginx

Проверим, устранена ли уязвимость.

Рисунок 27 – Уязвимость устранена

140