Изображение: Пексели
За последние четыре года ни один Black Hat или DEF CON не прошел без сообщений на тему атак на Microsoft Active Directory. Участники рассказывают о новых векторах и своих изобретениях, но не забывают и о советах, как их обнаружить и предотвратить.
В этой статье мы рассмотрим популярные методы атаки AD и дадим рекомендации, которые помогут защититься от них.
Шесть атак AD, которые нельзя пропустить
Многие производители программного обеспечения для мониторинга информационной безопасности уже поддерживают в своих продуктах различные методы атак злоумышленников.Давайте посмотрим на некоторые из них.
Передайте хеш
Такая методика возможна благодаря архитектурным особенностям протокола аутентификации NTLM, разработанного Microsoft в девяностых годах прошлого века.Для входа на удаленный хост используется хэш пароля, который хранится в памяти компьютера, с которого происходит аутентификация.
Соответственно, его можно удалить оттуда.
Мимикац
Для удобной работы Pass-the-Hash французский исследователь Бенджамин Дельпи в 2014 году разработал утилиту mimikatz. Она позволяет выгружать из памяти пароли в открытом виде и NTLM-хеши.
Грубая сила
Если у злоумышленника недостаточно учетных данных, которые он извлек из одного хоста, он может прибегнуть к грубым, но эффективным методам подбора пароля.
чистый пользователь/домен
Где взять словарь юзернеймов для проведения брутфорса? Любой член домена может запустить команду net user /domain, которая возвращает полный список имен пользователей из AD.Kerberoasting
Если домен использует Kerberos в качестве протокола аутентификации, злоумышленник может прибегнуть к атаке Kerberoasting. Любой пользователь, прошедший аутентификацию в домене, может запросить билет Kerberos для доступа к службе выдачи билетов.TGS шифруется с помощью хэша пароля учетной записи, из которой запускается целевая служба.
Злоумышленник, получив таким образом TGS, теперь может его расшифровать, угадав пароль и не опасаясь блокировки, поскольку он делает это в офлайн-режиме.
В случае успеха он получает пароль от учетной записи, связанной со службой, которая часто является привилегированной.
ПсExec
После того как злоумышленник получил необходимые учетные данные, перед ним встает задача удаленного выполнения команд. Для этого хорошо подойдет утилита PsExec из пакета Sysinternals. Он хорошо зарекомендовал себя как среди ИТ-администраторов, так и среди злоумышленников.
Семь атакующих заклинаний для захвата Active Directory
Теперь мы переходим к семи заклинаниям, которые могут помочь злоумышленникам получить полный контроль над Active Directory. Разделим их на четыре этапа:- Разведка.
- Продвижение рекламы.
- ? операция.
- Захват домена.
Давайте рассмотрим каждый подробно.
Этап 1. Разведка
Начнем со стадии разведки.
PowerView
Этот инструмент является частью популярной среды тестирования на проникновение PowerShell. PowerSploit .
Инструмент также опирается на него Бладхаунд , который строит граф связей объектов внутри AD.
Графическое представление связей объектов Active Directory
Bloodhound сразу предоставляет следующие возможности:
- найти учетные записи всех администраторов домена;
- найти хосты, на которых авторизованы администраторы домена;
- построить кратчайший путь от хоста злоумышленника до хоста с сеансом администратора домена.
Такой подход значительно сокращает время получения полного контроля над доменом.
PowerView отличается от встроенных утилит получения данных об объектах AD (например, net.exe) тем, что работает по протоколу LDAP, а не SAMR. Для обнаружения этой активности подойдет событие 1644 от контроллера домена.
Регистрация этого события включается добавлением соответствующего значения в реестр: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostic\\15 Field Engineering = 5
Включение регистрации событий LDAP 1644
Событие 1644 с параметрами запроса LDAP
Стоит обратить внимание на то, что таких событий может быть довольно много, и хорошей альтернативой обнаружению по событию является обнаружение по трафику, поскольку LDAP является открытым текстовым протоколом, соответственно, все запросы в трафике хорошо видны.
.
LDAP SearchRequest (нажмите на изображение, чтобы открыть его в полном размере)
Еще одной важной особенностью этого фреймворка является то, что он написан на чистом PowerShell и не имеет зависимостей.
И здесь для обнаружения нам поможет расширенная функция аудита, появившаяся в PowerShell версии 5. Событие 4104 показывает тело сценария, в котором мы можем искать имена функций, специфичные для PowerView.
Сканирование SPN
Он может заменить злоумышленнику запуск nmap. После того как злоумышленник разобрался, какие пользователи и группы находятся внутри AD, для полноты картины ему понадобится информация о том, какие сервисы там есть.
Обычно это решается сканированием портов утилитой nmap. Но теперь эту информацию можно получить и из AD — она там уже хранится.
Посмотреть результат выполнения такого запроса можно так: возвращаются так называемые SPN (Service Principal Names).
Имя SPN состоит из класса службы, уникального для каждого типа службы, за которым следует имя хоста в форме полного доменного имени и, для некоторых служб, порт.
Примеры спн.
Полный список имен участников службы Для обнаружения SPN Scan на помощь также приходит аудит событий LDAP. Важно отметить, что сканирование SPN имеет явное преимущество перед сканированием nmap: оно менее шумное.
При использовании nmap вам необходимо подключиться к каждому хосту и отправлять пакеты на указанный вами диапазон портов.
А чтобы получить список SPN, нужно отправить всего один запрос.
Перечисление удаленных сеансов
Важной задачей для злоумышленника на этапе бокового перемещения является определение того, какой пользователь на какой машине залогинен.Либо у него уже есть учетные данные пользователя (хеш или билет Kerberos), и он ищет хосты, на которых можно легко залогиниться.
Или он ищет хост, где есть живая сессия администратора домена.
Дальше срабатывает сценарий: охота -> компрометация любого хоста -> бухта Мимикац -> прибыль.
Чтобы обнаружить этот метод, вы можете использовать 2 события.
4624 - это успешный вход в удаленную систему с типом входа 3, а также события доступа к сетевому ресурсу IPC$, и нюанс - имя канала - srvsvc. Почему труба называется можно понять из трафика.
Нажмите на изображение, чтобы открыть его в полном размере
Слева в красных рамках идут обращения к SMB, затем обращения к пайпу — srvsvc. Этот канал позволяет взаимодействовать с помощью специального удаленного протокола службы сервера.
Это позволяет конечным хостам получать от него различную административную информацию, в т.ч.
среди запросов есть один под названием NetSessEnum. В результате этого запроса возвращается полный список пользователей, вошедших в удаленную систему, с IP-адресами и именами пользователей.
В MaxPatrol SIEM мы сделали детект на основе комбинации этих двух событий с учетом srvsvc. И аналогичное обнаружение трафика в PT Network Attack Discovery.
Этап 2. Продвижение через AD
Overpass-the-Hash
Реинкарнация Pass-the-Hash. Продолжаем тему бокового движения.Что может сделать злоумышленник, если у него есть NTLM-хеш? Он может провести атаку Pass-the-Hash — но для этого уже есть обнаружения.
Поэтому был найден новый вектор — атака Overpass-the-Hash. Протокол Kerberos был разработан специально для того, чтобы пароли пользователей в той или иной форме не передавались по сети.
Для этого на своей машине пользователь шифрует запрос аутентификации хешем своего пароля.
В ответ Центр распространения ключей (специальный сервис, размещенный на контроллере домена) выдает ему билет для получения других билетов.
Так называемый билет на получение билета (TGT).
Теперь клиент считается аутентифицированным и в течение 10 часов он может подать заявку на получение билетов для доступа к другим сервисам.
Соответственно, если злоумышленник сбросит хеш пользователя, входящего в доверенную группу интересующего его сервиса, например, ERP-системы или базы данных, злоумышленник может оформить себе пропуск и успешно авторизоваться в сервисе.
он интересуется.
Как обнаружить
Если злоумышленник использует для этой атаки версию mimikatz PowerShell, то на помощь приходит логирование тела скрипта.Потому что «Invoke-Mimikatz» — очень характерная строчка.
Или 4688 – событие запуска процесса с расширенным аудитом командной строки.
Даже если бинарник переименовать, то в командной строке мы обнаружим очень характерную для mimikatz команду.
Трафик Overpass-the-Hash может быть обнаружен на основании аномалии, возникающей в результате того, что Microsoft рекомендует использовать шифрование запроса аутентификации AES256 для текущих доменов.
А когда mimikatz отправляет данные запроса аутентификации, он шифрует данные, используя устаревший ARCFOUR.
Есть еще одно отличие трафика, обусловленное особенностями мимикаца.
Он основан на разнице между набором шифров в законном домене и тем, что отправляет mimikatz.
Золотой билет
Что может сделать злоумышленник, если у него есть хэш пароля специальной учетной записи krbtgt? Ранее мы рассматривали случай, когда пользователь может быть лишен привилегий.Сейчас мы рассматриваем пользователя, хэш пароля которого используется для подписи абсолютно всех билетов на получение других билетов (TGT).
Соответственно, злоумышленник больше не обращается в Центр распространения ключей; он генерирует этот билет сам, поскольку Золотой Билет по сути является TGT. Затем он сможет отправлять запросы на аутентификацию любому сервису внутри AD, причем в течение неограниченного времени.
В результате он беспрепятственно получает доступ к этому ресурсу — Golden Ticket не зря называется золотым.
Как обнаружить по событиям
Существует событие 4768, указывающее, что был выдан TGT, и событие 4769, указывающее, что был выдан билет службы, который необходим для аутентификации для какой-либо службы в AD.Здесь мы можем сыграть на разнице: поскольку Golden Ticket при атаке не запрашивает TGT у контроллера домена (он генерирует его самостоятельно), а ему необходимо запросить TGS, то если мы обнаружим разницу в полученных TGT и TGS, мы можем предположить, что происходит атака Golden Ticket. В MaxPatrol SIEM с помощью таблиц-списков, в которых мы логируем все выданные TGT и TGS, мы смогли реализовать такое обнаружение.
Удаленное выполнение WMI
После завершения задачи аутентификации и авторизации на нужных хостах злоумышленник может приступить к удаленному выполнению задач.WMI, как встроенный механизм, предназначенный для этой цели, работает прекрасно.
За последние несколько лет «жить за счет земли», то есть использовать механизмы, встроенные в Windows, становится тенденцией.
Прежде всего потому, что это позволяет маскироваться под законную деятельность.
На скриншоте показано использование встроенной утилиты wmic. Он указывает адрес хоста для подключения, учетные данные, оператор создания вызова процесса и команду, которая будет выполнена на удаленном хосте.
Как обнаружить
По куче событий удаленного входа 4624 (обратите внимание mania on Logon ID) и событие 4688, указывающее, что процесс был запущен из командной строки.4688 — Вы можете видеть, что родителем запускаемого процесса является WmiPrvSE.exe — специальный сервисный процесс WMI, используемый для удаленного администрирования.
Команда, которую мы отправили net user /add, видна, а Logon ID соответствует событию 4624. Соответственно, мы можем абсолютно точно сказать, с какого хоста была запущена эта команда.
Обнаружение трафика
Здесь мы отчетливо видим характерные слова Win32-процесса create, а также командную строку, которая отправляется на запуск.На скриншоте изображена недавно встреченная нами вредоносная программа, которая распространялась в виртуальных сетях по принципу, аналогичному WannaCry, только вместо шифрования в ней устанавливался майнер.
Вредоносное ПО несло с собой mimikatz и EthernalBlue, оно сбрасывало учетные записи и с их помощью авторизовывалось на всех тех хостах, до которых могло добраться по сети.
Используя WMI, она запустила на них PowerShell, скачала полезную нагрузку PowerShell, которая снова содержала mimikatz, EthernalBlue и майнер.
Это вызвало цепную реакцию.
Рекомендации для этапов 1-3
1. Сложные и длинные (> 25 символов) пароли для сервисных учетных записей.Это не оставит злоумышленнику шансов провести атаку Kerberoasting, потому что.
на гринд уйдет очень много времени.
2. Ведение журнала PowerShell .
Помогает обнаружить использование многих современных инструментов AD-атак.
3. Переходим на Windows 10, Windows Server 2016. Microsoft создала Credential Guard: выгружать из памяти NTLM-хеши и билеты Kerberos больше нельзя будет 4. Строгое разграничение ролей.
.
Опасно объединять AD, DC, все серверы и рабочие машины в одной роли.
5. Двойная смена пароля krbtgt (это та же учетная запись, которая подписывает билеты TGT) .
Каждый год. И после ухода администратора AD:
6. Инструменты защиты с постоянно обновляемой экспертной базой знаний .
- вам нужно изменить его дважды, потому что.
текущий и предыдущий пароль сохраняются,
- менять каждый год, в т.ч.
после ухода администратора домена.
Даже если сеть уже взломана и злоумышленники выдали Золотой Билет, смена пароля делает Билет бесполезным.
И им придется начинать все сначала.
Необходимо для обнаружения реальных реальных атак.
Этап 4. Перехват домена
DCShadow
24 января 2018 года на конференции Microsoft BlueHat в Израиле Бенджамин Дельпи и Винсент Ле Ту представили новый модуль mimikatz, реализующий атаку DCShadow. Суть атаки заключается в том, что создается поддельный контроллер домена для модификации и создания новых объектов в AD посредством репликации.Исследователям удалось определить минимальный набор SPN Kerberos, необходимый для завершения процесса репликации — требуется только 2 из них.
Кроме того, они представили специальную функцию, которая может принудительно выполнять репликацию контроллера.
Авторы атаки позиционируют ее как атаку, которая сделает ваш SIEM слепым.
Потому что поддельный контроллер домена не отправляет события в SIEM, а это значит, что злоумышленники могут делать с AD всякие темные вещи, а SIEM об этом не узнает.
Схема атаки
На системе, из которой осуществляется атака, необходимо добавить 2 SPN, которые нужны, чтобы другие контроллеры домена могли аутентифицироваться через Kerberos для репликации.Т.
к.
по спецификации контроллер домена представлен в базе AD как объект класса nTDSDSA, то нужно создать такой объект. И, наконец, вызовите репликацию с помощью функции DRSReplicaAdd.
Как обнаружить
Как DCShadow выглядит в пробке.Глядя на трафик, мы отчетливо видим добавление нового объекта в схему конфигурации типа домен-контроллер, а затем принудительный запуск репликации.
Благодаря тому, что наша корреляция знает список легитимных контроллеров домена, она сработает, когда произойдет репликация с контроллера домена, не включенного в этот белый список.
Соответственно, отдел ИБ может провести расследование и уже понять, легитимный ли это контроллер домена, добавленный ИТ-службой, или атака DCShadow.
Заключение
Пример DCShadow показывает, что появляются новые векторы атак для предприятия.В этом океане событий ИБ очень важно оставаться на гребне волны: смотреть дальше и двигаться быстро.
Каждый день мы в Центре безопасности PT Expert исследуем новые угрозы и разрабатываем методы и инструменты их обнаружения.
И мы готовы делиться этой информацией дальше.
Автор : Антон Тюрин, руководитель группы обнаружения атак, Positive Technologies Теги: #информационная безопасность #microsoft #уязвимости #атаки #active каталог #Active Directory #каталог Microsoft acrive #MAD
-
Трагедии И Домены
19 Oct, 24 -
Новый Сайт С Использованием Сервисов Google
19 Oct, 24 -
Впечатления О Конференции Remix
19 Oct, 24