• XSS.stack #1 – первый литературный журнал от юзеров форума

Уязвимость в EPP-серверах позволяла получить контроль над 19 доменами первого уровня

INC.

REVERSE SIDE OF THE MEDAL
Эксперт
Регистрация
02.02.2008
Сообщения
3 950
Реакции
1 872
Исследователи безопасности из группы Hackcompute опубликовали результат своих экспериментов по изучению защищённости регистраторов доменных имён, атака на которых может привести, например, к изменению DNS-серверов для перенаправления запросов на хост злоумышленника. В результате исследования в одной из реализаций XML-протокола EPP (Extensible Provisioning Protocol), применяемого для организации обмена данными между регистратором и оператором реестра доменных имён, выявлена критическая уязвимость, позволяющая прочитать содержимое любых файлов на сервере.

Используя уязвимость исследователям удалось получить содержимое закрытого SSH-ключа администратора сервера, отвечающего за доменную зону "ai" и учётные данные для хранения резервных копий всего содержимого. Персонал регистратора, отвечающего за домен первого уровня "ai" подтвердил, что уязвимость позволяет скомпрометировать сервер и получить полный контроль над любыми доменами в DNS-зоне ".ai", в том числе можно изменить DNS-серверы для любого домена. Кроме инфраструктуры зоны ".ai" проявление уязвимости удалось выявить на серверах, отвечающих за ведение реестра доменных имён в зонах .bj, .bw, .ci, .gl, .ke, .kn, .lb, .ly, .mr, .ms, .mz, .ng, .pyc, .rw, .so, .ss, .td и .zm.


CFD0C5CECEC5D4_1686661089.png


Отдельный интерес представляет то, как была найдена уязвимость. Так как протокол EPP использует XML и принимает соединения на 700 сетевом порту, исследователи через сканирование портов в глобальной сети построили список хостов, на которых открыт 700 порт и попытались отправить запросы, используя известные типовые приёмы атак на уязвимые XML-библиотеки. На серверах c ПО CoCCA Registry Software сработал приём с подстановкой внешних ресурсов через манипуляции с элементом XXE (XML external entity). Например, для чтения файла /etc/passwd с сервера достаточно было отправить запрос:

Код:
   <?xml version="1.0" standalone="no"?> 
   <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> 
   <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
   <command> 
      <poll op='req' /> 
      <clTRID>&xxe;</clTRID> 
   </command> 
   </epp>

Далее исследователи изучили Web API, предоставляемый на серверах с CoCCA Registry Software и доступный на стадии до прохождения аутентификации. В Java-классе CitiesServlet была найдена ещё одна уязвимость, позволяющая передать содержимого любого локального файла. Проблема возникла из-за отсутствия проверки наличия символов "/.." при формировании имени файла на основе одного из параметров URI. Сочетание данной уязвимости с XXE-уязвимостью в парсере XML позволило получить доступ к любым файлам в системе, так как ПО CoCCA Registry Software выполняется с правами root.

В ходе атаки XXE-уявзимость использовалась для определения структуры файлов и каталогов на сервере, а уязвимость в Web API для простой загрузки нужных файлов с сервера (например, для загрузки /etc/shadow достаточно выполнить запрос "https://epp.whois.ai/cities?country=/../../../../../../../../etc/shadow"). Исследователи сообщили о проблемах разработчикам ПО CoCCA Registry Software и в настоящее время уязвимости уже устранены.
 
CoCCA - дрявый софт, что пиздец. Помню как, много лет назад имели полный доступ к реестру .cx, меняли днс направо и налево, и администраторы ничего не могли сделать как минимум несколько месяцев. Немного там было денег сделано, но хорошее свидетельство любителям оупенсорса, что если архитектура софта заложена идиотом, использовать подобный софт для любой критической инфрастуктуры - это клиника. Никакое сообщество его уже не спасет. Использовать открытый софт для очень узких и спец решений, - таких как реестр доменов, - это почти всегда клиника. Уверен, что там багов до сих пор до хера.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх