Обнаружение атак на Active Directory с помощью Azure

В следующем году будет 20 лет с момента создания службы каталогов Active Directory. За это время служба обросла функционалом, протоколами, различными клиентами. Но необходимость поддерживать совместимость с рядом устаревших клиентов вынуждает иметь настройки по-умолчанию, ориентированные на совместимость. Администраторы часто не меняют их, а это создает большой риск. В этой статье мы рассмотрим обнаружение атак, которые могут привести к domain dominance.

mllvqtkxrozlinuj2qbxnfqcmcg.jpeg

Что общего между между атаками на Active Directory и Azure? 1 марта 2018 года был выпущен сервис Azure Advanced Threat Protection. Это сервис, который является облачным аналогом локального продукта Advanced Threat Analytics. В отличии от локальной версии, облачная не имеет искусственных ограничений для машинного обучения и обновляется регулярно, как и любые облачные сервисы. С его помощью можно обнаружить как типовые атаки, так и аномальное поведение пользователей.

Для начала работы можно зарегистрировать пробную подписку.

После первичных настроек потребуется скачать и инсталлировать шлюз для сбора данных на все контроллеры домена в сети предприятия. На этом настройка завершена.

Теперь предлагаю рассмотреть пример атаки по следующему сценарию: сотрудник-инсайдер, который завладел правами администратора на локальной машине, планирует повысить свои привилегии в домене.

Для начала сотруднику потребуется понять, какую учетную запись ему потребуется скомпрометировать, чтобы получить привилегии в домене. Его интересует группа Domain Admins. Для обнаружения членов Domain Admins он делает запрос в командной строке:

net group "Domain Admins” /domain

frprcpvubkbkwslg1vmgya9s8eq.png

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

Для обнаружения сессий я воспользуюсь известным среди пентестеров инструментом Bloodhound. Как видно на схеме, пользователь trainer имеет активную сессии на рабочей станции W10-notGuarded, доступ к которой у злоумышленника также присутствует.

7bd80938hjatcv_etgzwlbbpxug.png

Перейдем на портал Azure ATP и посмотрим новые предупреждения. Запросы на обнаружение групп и сессий были обнаружены.

h1ljkowuk0au2rdwzd2rfxnhrdi.png

Вернемся к злоумышленнику. Подключившись к рабочей станции, злоумышленник может сделать дамп процесса lsass с помощью task manager (или из командной строки с помощью procdump). Для этой операции потребуется debug-привилегия.

jw6rsqukawteyeen1ha8dxcvip8.png

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

Скопируем дамп в одну папку с Mimikatz, запустим Mimikatz и подключим дамп для анализа

Sekurlsa::minidump lsass.dmp

Выведем результаты в текстовый файл

Log

Извлечем содержимое дампа

Sekurlsa::logonpasswords

mrezruhf0x8jaob8lgq0cmku6y0.png

Открыв текстовый файл Mimikatz.log можно найти учетные данные пользователя trainer. Нас интересует NTLM-хэш пароля. Значения на скриншоте скрыты в целях конфиденциальности.

i1b2duc-gubsdmkqpd7nhl-obea.png

Операция хэширования является необратимой, поэтому извлечь пароль из хэша невозможно. Если пароль был простым, то есть вероятность подбора через радужные таблицы. Предположим, что нам не повезло и пароль не смогли подобрать по хэшу. Тогда в игру вступают атаки класса Pass-the-Hash.

Прежде чем рассматривать атаки, кратко работает как работает аутентификация Kerberos в Active Directory, чтобы понимать, за счет чего данная атака возможна. Чтобы клиент Active Directory могу получить доступ к определенному ресурсу, ему потребуется TGS-билет. Получение билета TGS «на пальцах» выглядит следующим образом:

  1. Клиент отправляет контроллеру домена текущую дату и время, шифруя их с помощью общего секрета.
  2. Контроллер домена, получив и расшифровав запрос, оправляет клиенту TGT-билет, в котором содержится информация о пользователе, членом каких групп он является и тд
  3. Когда клиенту нужен доступ к ресурсу, он обращается к контроллеру, предъявляет TGT-билет и получает TGS-билет
  4. С этим билетом аутентифицируется на нужном ресурсе


На каком этапе возможна атака, связанная с имеющимся у нас NTLM-хэшем? NTLM-хэш является тем самым общим секретом, которым обладает клиент и контроллер домена. Соответственно, зная NTLM-хэш, можно получить TGT-билет практически легитимно.

Для осуществления атаки нам потребуется рабочая станция в одной сети с контроллером домена и Mimikatz. Сама рабочая станция необязательно должна входить в домен.

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

Я открою Mimikatz и повышу привилегии до debug

Privilege::debug

Затем укажу команду:

Sekurlsa::pth /user:trainer /domain:contoso.com /ntlm: (указать реальный хэш)

biescdnyo0xieouqx9uflfvmbqk.png

Открылась новая командная строка. Проверяю доступ к файлу — доступ предоставлен. При этом, я по-прежнему пользователь jdoe, но у меня есть Kerberos-билеты пользователя trainer.

40x9fmxhndn7k2joxk6ydk9bsow.png

Данная атака называется Overpass-the-Hash и является эксплуатацией особенностей работы протокола Kerberos. Предотвращение атак возможно с помощью грамотной настройки и обнаружения.

Давайте вернемся на портал Azure ATP и посмотрим что было обнаружено.

Один алерт — Unusual Protocol Implementation. Это обнаружение «нетипичной» аутентификации.

jhxjg_kkc1x9d2bpc_qk6ndkghq.png

Второй — Encryption Downgrade Activity. Обнаружение запроса Kerberos-билета с помощью Mimikatz.

-2gnafuahxxn8odxr0v4s_xg_ny.png

Таким образом мы оперативно обнаружили одну из атак на протокол Kerberos.

Важно учитывать, что обнаружение атак не исключает необходимость тщательной настройки безопасности Active Directory в соответствии с наилучшими практиками.

Посмотреть Azure ATP в действии вы можете 21 апреля на Azure Global Bootcamp в Москве очно или в онлайн-трансляции.

Узнать больше об основах и других возможностях обеспечения безопасности с помощью Azure можно в новой бесплатной электронной книге «Инфраструктура безопасности Microsoft Azure» на русском языке.

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

Об авторе


Сергей Чубаров — руководитель инфраструктурных проектов в компании Prof IT. Обладатель статуса Most Valuable Professional (MVP) по Microsoft Azure. Помимо проектной работы является спикером на технических мероприятиях и региональным лидером среди русскоговорящих тренеров MCT.

Global Azure Bootcamp 2018 Russia


21 апреля, в субботу, проведем Global Azure Bootcamp Russia 2018 — глобальный форум по облачным технологиям Azure. Ежегодно Azure сообщество выбирает единый день проведения конференции в более чем 200 городах по всему миру, где ИТ-эксперты могут обменяться своими знаниями и опытом друг с другом и поделиться им с новичками. Приходите, участие бесплатное.
Регистрация.

© Habrahabr.ru