Главная / О Центре / Новости / Что общего между PetitPotam, NTLM Relay и PrintNighmare? На примере пентеста рассказываем, к чему может привести отсутствие обновлений






Что общего между PetitPotam, NTLM Relay и PrintNighmare? На примере пентеста рассказываем, к чему может привести отсутствие обновлений

17 января 2024

Команда Центра кибербезопасности УЦСБ продолжает рассказывать о самых интересных практиках пентеста. Напоминаем, что в прошлой статье мы писали о том, как нам удалось пробить периметр с двух точек: Windows- и Linux-серверов, а также захватить внутреннюю инфраструктуру компании.

В этот раз мы покажем, как компрометация домена Active Directory (AD) может привести к полной остановке деятельности компании на неопределенное время. Надеемся, наши кейсы будут вам полезны, а этот опыт позволит избежать схожих проблем!

Предыстория

В 2023 году в крупной компании произошел инцидент, который вызвал простой процессов и повлек за собой большие убытки. После устранения последствий руководство решило убедиться, что слабых мест в системе защиты больше нет. Именно поэтому компания обратилась к нам для проведения независимой оценки безопасности с помощью пентеста.

С чего все начиналось

Стоит отметить, что работы проводились по методу черного ящика. Так, перед началом внутреннего тестирования мы пробили внешний периметр компании и получили доступ к Linux от root.
Метод чёрного ящика предполагает имитирование взлома злоумышленниками, которые ничего не знают об инфраструктуре организации.
После проведения разведки низко висящих фруктов не нашлось — не было MS17, Zerologon, BlueKeep, дефолтные пароли почти никуда не подходили. Время на проведение работ по проекту подходило к концу.

Неожиданно получилась цепочка эксплуатации хорошо известных уязвимостей PetitPotam + Relay + PrintNightmare + impersonate в одном месте. Догадаться использовать эти уязвимости и мисконфиги оказалось непросто. Гайдов и описаний эксплуатации из такого контекста не было.

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

Схема захвата Windows машины приведена ниже.

Принуждение к аутентификации CVE-2021-36942 (PetitPotam или Бегемотик)

Уязвимость CVE-2021-36942, известная также как PetitPotam, заключается в возможности вызова без аутентификации методов протокола MS-EFSRPC. В результате вызовов этих методов атакованный узел осуществляет запрос на указанный узел, вместе с тем при подключении к нему происходит аутентификация с использованием механизма NTLM.


Потенциальный нарушитель может таким образом провоцировать аутентификацию атакуемых узлов на подконтрольном ему узле для проведения дальнейших атак, нацеленных на получение доступа к домену или повышение привилегий.

В ходе работ мы проверили возможность эксплуатации уязвимости CVE-2021-36942 на нескольких узлах внутренней сети.

В результате было обнаружено, что этой уязвимости подвержены несколько узлов из домена. Демонстрация эксплуатации уязвимости приведена на Рисунке 1.

Рисунок 1 – Результат эксплуатации уязвимости CVE-2021-36942

Полученные таким образом NetNTLMv2-хэши были использованы при выполнении шагов, описанных в следующем разделе.

Уязвимость CVE-2021-34527 (PrintNightmare)

С помощью уязвимости PrintNightmare потенциальный злоумышленник может повысить свои привилегии на узле с ОС Windows, используя очередь печати Windows. Эксплуатация уязвимости происходит удаленно, для нее необходима учетная запись с привилегиями обычного пользователя. Так как у нас ее не было, дальнейшие этапы работы проводились в контексте NTLM Relay-атаки с использованием машинной учетки.

Получение машинной УЗ

При выполнении NTLM relay-атаки злоумышленник внедряется между клиентом и сервером, используя особенности протокола NTLM. Поэтому в результате атаки он может успешно проводить аутентификацию на целевом узле от имени перехваченной УЗ. Демонстрация захвата сессии SMB приведена на Рисунке 2.

Рисунок 2 – Установка SMB-сессии с узлом

После установления SMB-соединений мы проверили возможность чтения и записи сетевых папок от имени машинной УЗ. На одном из узлов было обнаружено соответствующее право. На сетевой папке с возможностью записи мы разместили файл с расширением DLL, который позволял пентестеру выполнять команды от имени системы.

Демонстрация подключения к сетевой папке приведена на Рисунке 3.

Рисунок 3 – Открытие SMB-сессии на узле

Далее был загружен на узел файл DLL. Демонстрация загрузки приведена на Рисунке 4.

Рисунок 4 – Загрузка вредоносной библиотеки pn64_sticky_nla.dll на узел

Затем мы провели эксплуатацию уязвимости, как показано на Рисунке 5.

Рисунок 5 – Эксплуатация уязвимости PrintNightmare на узле

В результате успешной эксплуатации удалось получить доступ к узлу от имени системы. Демонстрация полученного доступа к целевому узлу представлена на Рисунке 6.

Рисунок 6 – Вызов командной строки на узле

Повышение привилегий до администратора домена

После получения доступа от имени системы мы обнаружили, что на узле находится сессия администратора домена. С помощью техники impersonate удалось получить сессию от имени администратора домена.

На сетевом диске, доступном для записи, был размещен исполняемый файл incognito.exe и запущена команда для открытия консоли от имени администратора домена (Рисунок 7).

Рисунок 7 – Повышение привилегий до администратора домена

Заметим, что права администратора домена предоставляют пользователю полный доступ к файлам, каталогам, службам и другим ресурсам, которые находятся в домене AD. Учетная запись с правами администратора домена может использоваться для создания учетных записей, а также для назначения им прав и разрешений на управление доступом. Контроль над учетной записью с правами администратора домена означает контроль над всем доменом AD.

Вывод

Таким образом, вход в инфраструктуру компании был полностью скомпрометирован. Мы получили полный доступ ко всем рабочими станциям и серверам, системам виртуализации и системам резервного копирования.

Так как все сервисы компании завязаны на домене AD, его компрометация могла бы привести к полной остановке деятельности компании на неопределенный промежуток времени. Избежать таких последствий можно было с помощью простого действия — своевременной установки обновлений. Ниже несколько рекомендаций.

PetitPotam:
-         Установить обновления безопасности в соответствии с версией системы: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-36942
-         Настроить брандмауэр: https://habr.com/ru/articles/688682/

PrintNightmare:
-         Установить обновления безопасности в соответствии с версией системы: https://msrc.microsoft.com/update-guide/en-us/vulnerability/CVE-2021-34527
-         Отключить spooler, если он не используется.

Автор: Владислав Дриев, специалист по анализу защищенности УЦСБ
Подпишитесь на нашу рассылку
Вы будете получать только полезную информацию о кибербезопасности — никакого спама и рекламы
Нажимая кнопку «Подписаться», я даю свое согласие на обработку моих персональных данных, в соответствии с Федеральным законом от 27.07.2006 года №152-ФЗ «О персональных данных», на условиях и для целей, определенных в Согласии на обработку персональных данных