Большая дыра в BIG-IP. Как работает новая уязвимость в продуктах компании F5 - «Новости» » Самоучитель CSS
Меню
Наши новости
Учебник CSS

Невозможно отучить людей изучать самые ненужные предметы.

Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3

Надо знать обо всем понемножку, но все о немногом.

Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы

Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)

Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода

Самоучитель CSS

Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5

Новости

Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости

Справочник CSS

Справочник от А до Я
HTML, CSS, JavaScript

Афоризмы

Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы

Видео Уроки


Наш опрос



Наши новости

       
12-08-2020, 12:38
Большая дыра в BIG-IP. Как работает новая уязвимость в продуктах компании F5 - «Новости»
Рейтинг:
Категория: Новости

В июле 2020 года немало шума наделала уязвимость, найденная в линейке продуктов F5, в частности — в BIG-IP. Это контроллер доставки приложений, который используют и в крупнейших компаниях вроде банков и операторов сотовой связи. Уязвимости присвоили наивысший уровень опасности, поскольку она позволяет без каких-либо привилегий получить полный контроль над целью.

В составе BIG-IP есть разные модули, которые работают под управлением операционной системы TMOS. Один из них — Local Traffic Manager (LTM) — обрабатывает трафик приложений, обеспечивает безопасность сетевой инфраструктуры и локальную балансировку нагрузки. LTM можно гибко настраивать, в том числе при помощи веб-интерфейса TMUI (Traffic Management User Interface). В нем и нашли уязвимость.



Точнее, нашел Михаил Ключников из Positive Technologies. Баг существует из-за некорректной нормализации URI при обработке запросов. Злоумышленник может обойти аутентификацию в Traffic Management User Interface и использовать функции системы, которые предназначены только для администратора. В результате этого атакующий может выполнять произвольные команды на целевой системе от суперпользователя, а это означает полную компрометацию сервера.



Большая дыра в BIG-IP. Как работает новая уязвимость в продуктах компании F5 - «Новости»
INFO

Баг получил номер CVE-2020-5902 и 10 из 10 баллов критичности по CVSS. Уязвимость присутствует в BIG-IP версий с 15.0.0 по 15.1.0.3, с 14.1.0 по 14.1.2.5, 13.1.0–13.1.3.3, 12.1.0–12.1.5.1 и 11.6.1–11.6.5.1.


Тестовый стенд



Так как продукт коммерческий, простого докер-контейнера в этот раз не будет. Самый легкий способ поднять стенд — это скачать тридцатидневную пробную версию BIG-IP VE (Virtual Edition). Для этого нужен аккаунт, который можно создать на сайте F5. После подтверждения можно будет переходить в раздел загрузок.



Нам нужна последняя уязвимая версия, это — 15.1.0.3. BIG-IP распространяется в нескольких вариантах, нас интересует образ виртуальной машины в формате OVA. Перед загрузкой предложат выбрать удобное зеркало.



Страница загрузки виртуальной машины BIG-IP в формате OVA

Также можешь попробовать воспользоваться моей ссылкой для скачивания образа. Не могу сказать, сколько она проживет, но пока отлично работает.



После этого импортируем скачанный образ в свою программу виртуализации. Я буду использовать VMware, но и VirtualBox отлично с этим справится.



После успешного импорта загружаем виртуалку. Через некоторое время видим приглашение для авторизации.



Авторизация в виртуальной машине BIG-IP

По дефолту пароль для суперпользователя — default (тебе сразу предложат его сменить). Теперь можно посмотреть IP-адрес виртуалки.



IP-адрес виртуальной машины BIG-IP
IP-адрес виртуальной машины BIG-IP

Открываем браузер и переходим на этот IP. Видим форму авторизации Traffic Management User Interface.



Форма авторизации BIG-IP Configuration Utility
Форма авторизации BIG-IP Configuration Utility

Стенд готов.



 

Детали уязвимости



Вернемся в консоль. Посмотрим, что за веб-сервер слушает 443-й порт.



netstat -lnpe | grep 443


Смотрим, какой сервис слушает 443-й порт в BIG-IP

Это обычный демон httpd, РЅРѕ очевидно, что РѕРЅ используется просто как фронтенд для проксирования запросов РєСѓРґР°-то дальше. Поищем среди конфигурационных файлов директивы ProxyPass.



grep -iR ProxyPass /etc/httpd


Поиск директивы проксирования в конфигах httpd

Нашлось много интересного в файле /etc/httpd/conf.d/proxy_ajp.conf.



/etc/httpd/conf.d/proxy_ajp.conf


...
ProxyPassMatch ^/tmui/(.*.jsp.*)$ ajp://localhost:8009/tmui/$1 retry=5
ProxyPassMatch ^/tmui/Control/(.*)$ ajp://localhost:8009/tmui/Control/$1 retry=5
ProxyPassMatch ^/tmui/deal/?(.*)$ ajp://localhost:8009/tmui/deal/$1 retry=5
ProxyPassMatch ^/tmui/graph/(.*)$ ajp://localhost:8009/tmui/graph/$1 retry=5
ProxyPassMatch ^/tmui/service/(.*)$ ajp://localhost:8009/tmui/service/$1 retry=5
ProxyPassMatch ^/hsqldb(.*)$ ajp://localhost:8009/tmui/hsqldb$1 retry=5
...
[/code]

И название, и содержимое файла наводят на мысль, что запросы переправляются к веб-серверу Tomcat по протоколу AJP. О нем я уже писал в статье про уязвимость в Tomcat.



8009-й порт — это AJP-протокол сервера Apache Tomcat

Но сейчас проблема не в этом. Нам нужно посмотреть на то, как передается URI к Tomcat. Здесь стоит обратиться к большому исследованию Оранжа Цая о нормализации путей в различных приложениях, которое он представил на Black Hat USA 2018 и DEF CON 26 (PDF). Там есть раздел о Tomcat, где конструкция /..;/ используется для выхода РёР· директории, РѕР±С…РѕРґР° некоторых правил Рё получения доступа Рє файлам СЃ важной информацией. Это возможно потому, что веб-сервер воспринимает конструкцию /..;/ как имя папки, а Tomcat интерпретирует его в качестве относительного пути — вверх по дереву в родительскую директорию.



Чтобы проверить, работает ли этот баг в нашем случае, попробуем прочитать какой-нибудь файл, доступ к которому в обычных условиях запрещен. Список таких можно посмотреть, например, в конфиге TMUI — /usr/local/www/tmui/WEB-INF/web.xml.



/usr/local/www/tmui/WEB-INF/web.xml


<servlet-mapping>
<servlet-name>org.apache.jsp.dashboard.viewset_jsp</servlet-name>
<url-pattern>/dashboard/viewset.jsp</url-pattern>
</servlet-mapping>


Попробуем его просмотреть простым запросом.



curl -k "https://192.168.31.140/tmui/dashboard/viewset.jsp" -is


В ответ получаем редирект на страницу авторизации. А теперь сделаем это при помощи конструкции /..;/.



curl -k "https://192.168.31.140/tmui/login.jsp/..;/dashboard/viewset.jsp" -is


Скрипт viewset.jsp отрабатывает успешно, Рё сервер возвращает результат.



Обход авторизации и просмотр недоступных страниц в F5 BIG-IP
Обход авторизации и просмотр недоступных страниц в F5 BIG-IP

Теперь мы можем читать любые страницы и выполнять сервлеты, которые не проверяют сессию пользователя внутри себя.



Давай посмотрим, что можно откопать РІ дебрях TMUI. Р’СЃРµ самое интересное лежит РІ директории /usr/local/www/tmui/WEB-INF/. Здесь же находятся и сами сервлеты, в откомпилированном виде. В связи с этим мне понадобится JD-GUI. Чтобы было проще, советую просто заархивировать директорию /usr/local/www/tmui/WEB-INF/ РІ формате ZIP Рё открыть РІ JD-GUI.



Декомпиляция классов BIG-IP в JD-GUI
Декомпиляция классов BIG-IP в JD-GUI

Рђ СЃРїРёСЃРѕРє эндпойнтов, как РјС‹ уже выяснили, можно найти РІ файле /usr/local/www/tmui/WEB-INF/web.xml. Их очень много, поэтому приведу здесь несколько наиболее интересных, которые были найдены после релиза уязвимости в паблик.



В июле 2020 года немало шума наделала уязвимость, найденная в линейке продуктов F5, в частности — в BIG-IP. Это контроллер доставки приложений, который используют и в крупнейших компаниях вроде банков и операторов сотовой связи. Уязвимости присвоили наивысший уровень опасности, поскольку она позволяет без каких-либо привилегий получить полный контроль над целью. В составе BIG-IP есть разные модули, которые работают под управлением операционной системы TMOS. Один из них — Local Traffic Manager (LTM) — обрабатывает трафик приложений, обеспечивает безопасность сетевой инфраструктуры и локальную балансировку нагрузки. LTM можно гибко настраивать, в том числе при помощи веб-интерфейса TMUI (Traffic Management User Interface). В нем и нашли уязвимость. Точнее, нашел Михаил Ключников из Positive Technologies. Баг существует из-за некорректной нормализации URI при обработке запросов. Злоумышленник может обойти аутентификацию в Traffic Management User Interface и использовать функции системы, которые предназначены только для администратора. В результате этого атакующий может выполнять произвольные команды на целевой системе от суперпользователя, а это означает полную компрометацию сервера. INFO Баг получил номер CVE-2020-5902 и 10 из 10 баллов критичности по CVSS. Уязвимость присутствует в BIG-IP версий с 15.0.0 по 15.1.0.3, с 14.1.0 по 14.1.2.5, 13.1.0–13.1.3.3, 12.1.0–12.1.5.1 и 11.6.1–11.6.5.1. Тестовый стенд Так как продукт коммерческий, простого докер-контейнера в этот раз не будет. Самый легкий способ поднять стенд — это скачать тридцатидневную пробную версию BIG-IP VE (Virtual Edition). Для этого нужен аккаунт, который можно создать на сайте F5. После подтверждения можно будет переходить в раздел загрузок. Нам нужна последняя уязвимая версия, это — 15.1.0.3. BIG-IP распространяется в нескольких вариантах, нас интересует образ виртуальной машины в формате OVA. Перед загрузкой предложат выбрать удобное зеркало. Страница загрузки виртуальной машины BIG-IP в формате OVA Также можешь попробовать воспользоваться моей ссылкой для скачивания образа. Не могу сказать, сколько она проживет, но пока отлично работает. После этого импортируем скачанный образ в свою программу виртуализации. Я буду использовать VMware, но и VirtualBox отлично с этим справится. После успешного импорта загружаем виртуалку. Через некоторое время видим приглашение для авторизации. Авторизация в виртуальной машине BIG-IP По дефолту пароль для суперпользователя — default (тебе сразу предложат его сменить). Теперь можно посмотреть IP-адрес виртуалки. IP-адрес виртуальной машины BIG-IP Открываем браузер Рё переходим РЅР° этот IP. Р’РёРґРёРј форму авторизации Traffic Management User Interface. Форма авторизации BIG-IP Configuration Utility Стенд готов. Детали уязвимости Вернемся РІ консоль. Посмотрим, что Р·Р° веб-сервер слушает 443-Р№ РїРѕСЂС‚. Смотрим, какой сервис слушает 443-й порт в BIG-IP Это обычный демон httpd, РЅРѕ очевидно, что РѕРЅ используется просто как фронтенд для проксирования запросов РєСѓРґР°-то дальше. Поищем среди конфигурационных файлов директивы ProxyPass. Поиск директивы проксирования в конфигах httpd Нашлось много интересного в файле /etc/httpd/conf.d/proxy_ajp.conf. /etc/httpd/conf.d/proxy_ajp.conf И название, и содержимое файла наводят на мысль, что запросы переправляются к веб-серверу Tomcat по протоколу AJP. О нем я уже писал в статье про уязвимость в Tomcat. 8009-й порт — это AJP-протокол сервера Apache Tomcat Но сейчас проблема не в этом. Нам нужно посмотреть на то, как передается URI к Tomcat. Здесь стоит обратиться к большому исследованию Оранжа Цая о нормализации путей в различных приложениях, которое он представил на Black Hat USA 2018 и DEF CON 26 (PDF). Там есть раздел о Tomcat, где конструкция /;/ используется для выхода РёР· директории, РѕР±С…РѕРґР° некоторых правил Рё получения доступа Рє файлам СЃ важной информацией. Это возможно потому, что веб-сервер воспринимает конструкцию /;/ как имя папки, а Tomcat интерпретирует его в качестве относительного пути — вверх по дереву в родительскую директорию. Чтобы проверить, работает ли этот баг в нашем случае, попробуем прочитать какой-нибудь файл, доступ к которому в обычных условиях запрещен. Список таких можно посмотреть, например, в конфиге TMUI — /usr/local/www/tmui/WEB-INF/web.xml. /usr/local/www/tmui/WEB-INF/web.xml Попробуем его просмотреть простым запросом. В ответ получаем редирект на страницу авторизации. А теперь сделаем это при помощи конструкции /;/. Скрипт viewset.jsp отрабатывает успешно, Рё сервер возвращает результат. РћР±С…РѕРґ авторизации Рё просмотр недоступных страниц РІ F5 BIG-IP Теперь РјС‹ можем читать любые страницы Рё выполнять сервлеты, которые РЅРµ проверяют сессию пользователя внутри себя. Давай посмотрим, что можно откопать РІ дебрях TMUI. Р’СЃРµ самое интересное лежит РІ директории /usr/local/www/tmui/WEB-INF/. Здесь же находятся и сами сервлеты, в откомпилированном виде. В связи с этим мне понадобится JD-GUI. Чтобы было проще, советую просто заархивировать директорию /usr/local/www/tmui/WEB-INF/ РІ формате ZIP Рё открыть РІ JD-GUI. Декомпиляция классов BIG-IP РІ JD-GUI Рђ СЃРїРёСЃРѕРє эндпойнтов, как РјС‹ уже выяснили, можно найти РІ файле /usr/local/www/tmui/WEB-INF/web.xml. Их очень много, поэтому приведу здесь несколько наиболее интересных, которые были найдены после релиза уязвимости в паблик.

Теги: CSS

Просмотров: 474
Комментариев: 0:   12-08-2020, 12:38
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

 
Еще новости по теме:



Другие новости по теме: