company_banner

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

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



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

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

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

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

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

    net group “Domain Admins” /domain



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

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



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



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



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

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

    Sekurlsa::minidump lsass.dmp

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

    Log

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

    Sekurlsa::logonpasswords



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



    Операция хэширования является необратимой, поэтому извлечь пароль из хэша невозможно. Если пароль был простым, то есть вероятность подбора через радужные таблицы. Предположим, что нам не повезло и пароль не смогли подобрать по хэшу. Тогда в игру вступают атаки класса 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:<ntlm-хэш пользователя trainer> (указать реальный хэш)



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



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

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

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



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



    Таким образом мы оперативно обнаружили одну из атак на протокол 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 городах по всему миру, где ИТ-эксперты могут обменяться своими знаниями и опытом друг с другом и поделиться им с новичками. Приходите, участие бесплатное.
    Регистрация.
    • +22
    • 3,5k
    • 2
    Microsoft 381,98
    Microsoft — мировой лидер в области ПО и ИТ-услуг
    Поделиться публикацией
    Комментарии 2
    • +1
      Кстати, господа, по поводу попадания ваших сетей в списки роскомнадзора вам есть что-нибудь прокомментировать? (как бы неофициально)
      • +1
        Не могут они неофициально говорить в официальном блоге :). Ситуация на самом деле не простая и очень тонкая.

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

      Самое читаемое