Захват домена: NTDS.dit, DCSync, DCShadow
Ключевые методы атак на Active Directory, включая кражу файла ntds.dit, атаки DCSync, DCShadow, Zerologon, Skeleton Key, DNS Admin Abuse и другие
Файл ntds.dit — это один из ключевых компонентов Active Directory (AD), который играет критически важную роль в функционировании домена. Он представляет собой базу данных, в которой хранится вся информация о домене, включая учетные записи пользователей, группы, пароли, политики безопасности и другие объекты AD. По сути, ntds.dit — это сердце Active Directory, и его компрометация может привести к полному захвату домена.
Файл ntds.dit располагается на всех контроллерах домена (Domain Controllers, DC) по пути:
Файл NTDS.DIT содержит широкий спектр данных, связанных с инфраструктурой Active Directory. Основные категории данных включают:
Информация о пользователях: Сведения об учетных записях пользователей, включая имена пользователей, пароли (в виде хешей), атрибуты и настройки безопасности.
Информация о группах: Данные о группах, членстве в группах и соответствующих разрешениях.
Информация о компьютерах: Сведения о компьютерах в домене, включая их имена, IP-адреса и настройки безопасности.
Групповые политики: Настройки групповых политик, которые применяются к пользователям и компьютерам в домене.
Права доступа и разрешения: Данные о правах доступа и разрешениях для различных объектов в домене.
Репликационная информация: Метаданные о репликации, которые используются для синхронизации данных между контроллерами домена.
Хеши паролей: Хеши паролей пользователей
Файл ntds.dit является лакомым кусочком для злоумышленников именно из-за последнего пункта. В файле содержатся хэши паролей всех пользователей домена, включая администраторов. Это позволяет атакующим использовать такие методы, как Pass-the-Hash и свободно перемещаться по всей доменной инфрастуктуре. Скомпрометировав ntds.dit, злоумышленник также получает доступ к хешу сервисной учетной записи krbtgt и может создать "золотой" билет Kerberos, что даст ему неограниченный доступ ко всем ресурсам домена. Про Kerberos и атаки на него: Kerberos
Как защищается ntds.dit?
По умолчанию файл ntds.dit защищен несколькими механизмами:
Доступ только для системных процессов:
Файл доступен только для процессов, работающих с правами SYSTEM.
Шифрование:
Данные в ntds.dit частично зашифрованы, хотя хэши паролей хранятся в открытом виде..
Однако, несмотря на эти меры, атакующие находят способы получить доступ к ntds.dit, используя различные методы, такие как кража файла через теневые копии (Volume Shadow Copy), эксплуатация уязвимостей или злоупотребление правами администратора.
ntdsutil, vssadmin
Использование утилиты vssadmin для создания теневых копий
vssadmin — это встроенная утилита Windows, которая позволяет управлять теневые копии томов (Volume Shadow Copy). Атакующие используют её для создания копии тома, на котором находится файл ntds.dit, чтобы затем скопировать его без блокировки со стороны системы.
Пример команды для создания теневой копии:
После создания теневой копии атакующий может скопировать файл ntds.dit и связанные с ним файлы (например, SYSTEM) для дальнейшего анализа. Пример команды для копирования:
Использование утилиты ntdsutil для экспорта данных
ntdsutil — это встроенная утилита Windows, предназначенная для управления Active Directory. Атакующие могут использовать её для создания резервной копии ntds.dit.
Пример команд для экспорта данных:
После кражи файла ntds.dit атакующий использует различные инструменты для извлечения полезной информации, такой как хэши паролей, учетные записи и другие данные. Для этого атакующему еще нужен файл SYSTEM. Набор инструментов Impacket включает скрипт secretsdump.py, который может извлекать данные из ntds.dit. Это уже можно делать оффлайн, на машине атакующего.
DCSync
Атака DCSync — это один из самых популярных методов компрометации Active Directory, который позволяет злоумышленнику получить данные из Active Directory без необходимости прямого доступа к файлу ntds.dit.
Как это работает?
Атакующий использует учетную запись с правами на репликацию данных в домене.
С помощью специальных инструментов (например, Mimikatz) атакующий отправляет запросы на контроллер домена, имитируя поведение легитимного контроллера домена.
Контроллер домена, считая запрос легитимным, отправляет атакующему запрошенные данные, включая хэши паролей.
Пример использования Mimikatz для DCSync:
Атакующий использует команду в Mimikatz для получения хэша пароля учетной записи krbtgt:
Эта команда позволяет атакующему получить хэш пароля, который можно использовать для создания Golden Ticket.
Какие права нужны для выполнения DCSync
Для выполнения атаки DCSync атакующему необходимо иметь учетную запись с правами на репликацию данных в домене. Эти права обычно предоставляются следующим группам и учетным записям:
Группа "Domain Admins":
Члены этой группы имеют полный доступ ко всем ресурсам домена, включая права на репликацию.
Группа "Enterprise Admins":
Члены этой группы имеют права на репликацию во всех доменах леса.
Учетные записи с делегированными правами:
Если атакующий получает доступ к учетной записи, которой делегированы права на репликацию, он может выполнить DCSync.
Это может бышь учетная запись самого контроллера домена (которая с $ на конце).
Обнаружение атаки DCSync
Как часто встречается: ТОП-1, обязательно иметь правило обнаружения
Атака DCSync оставляет следы в журналах событий Windows, которые можно использовать для её обнаружения. Вот основные методы обнаружения:
Мониторинг событий репликации (Event ID 4662):
Событие 4662 фиксирует запросы на доступ к объектам Active Directory, включая запросы на репликацию.
В поле Object Type будет указано значение DS-Replication-Get-Changes или DS-Replication-Get-Changes-All, что указывает на запросы, связанные с репликацией.
Мониторинг выдачи прав на репликацию новым объектам домена (Event ID 5136):
Событие 5136 регистрируется при изменении объектов Active Directory, в том числе при выдаче им прав на репликацию DS-Replication-Get-Changes или DS-Replication-Get-Changes-All.
DCShadow
Атака DCShadow — это сложный и скрытный метод компрометации Active Directory, который позволяет злоумышленнику внедрить поддельный контроллер домена и внести изменения в базу данных Active Directory. Эти изменения могут включать добавление пользователей в группы, изменение паролей или создание новых объектов.
Как это работает?
Атакующий использует инструменты (например, Mimikatz) для регистрации поддельного контроллера домена.
Поддельный контроллер домена имитирует поведение легитимного контроллера и отправляет изменения в базу данных AD.
Эти изменения реплицируются на другие контроллеры домена, что делает их легитимными с
Пример использования Mimikatz для DCShadow:
Атакующий использует Mimikatz для регистрации поддельного контроллера домена и внесения изменений:
Какие права нужны для выполнения DCShadow
Для выполнения атаки DCShadow атакующему необходимо иметь следующие права:
Права на регистрацию контроллера домена:
Атакующий должен иметь возможность зарегистрировать новый контроллер домена в Active Directory. Это обычно требует прав администратора домена.
Права на внесение изменений в AD:
Атакующий должен иметь права на изменение объектов в Active Directory, таких как учетные записи и группы.
Обнаружение атаки DCShadow
Как часто встречается: Реже, чем DCSync, но довольно популярна, потому что более скрытая.
Атака DCShadow является сложной для обнаружения, так как она не оставляет явных следов в журналах событий. Однако есть несколько методов, которые могут помочь выявить эту атаку:
Мониторинг событий регистрации контроллеров домена (Event ID 4742, поле Service Principal Name):
Когда доменная машина регистрируется как контроллер домена, она получает два SPN:
Global Catalog — имеет следующий формат GC/<DNS hostname>/<DNS forest name>.
Directory Replication Service (DRS) — формат <DRS interface GUID>/<DSA GUID>/<DNS domain name>, гда <DRS interface GUID> всегда имеет значение E3514235–4B06–11D1-AB04–00C04FC2DCD2.
Мониторинг событий репликации (Event ID 4929):
В поле Source Address указывается имя контроллера, откуда произошла репликация, необходимо отслеживать репликации с неизвестных узлов.
Анализ подозрительных изменений в AD:
Мониторинг изменений в Active Directory, таких как добавление пользователей в группы. Если пользователь внезапно добавляется в группу Domain Admins, это может быть признаком атаки. Эти изменения не отобразятся в событиях!
Skeleton Key
Атака Skeleton Key — это метод компрометации Active Directory, при котором злоумышленник внедряет "мастер-ключ" в память процесса аутентификации контроллера домена, что позволяет обойти проверку паролей для всех учетных записей. Этот метод был впервые представлен в 2015 году и до сих пор представляет угрозу для доменов.
Как это работает?
Атакующий получает доступ к контроллеру домена (например, через компрометацию учетной записи администратора).
Используя инструменты, такие как Mimikatz, атакующий внедряет вредоносный код в процесс LSASS (Local Security Authority Subsystem Service).
Этот код модифицирует процесс аутентификации, добавляя возможность использования "мастер-пароля" для входа в любую учетную запись.
Пример использования Skeleton Key:
Атакующий использует Mimikatz для внедрения Skeleton Key:
После внедрения атакующий может использовать "мастер-пароль" для входа в любую учетную запись домена.
Какие права нужны для выполнения Skeleton Key
Для выполнения атаки Skeleton Key атакующему необходимо иметь права администратора на контроллере домена. Это позволяет ему внедрить вредоносный код в процесс LSASS.
Получение привилегий администратора домена
Для всех перечисленных выше действий необходимо обладать высокими привилегиями в домене. Есть несколько известных способов, которые можно попробовать: Выписать сетрификат через уязвимые шаблоны AD CS PrinterBug + Неограниченное делегирование
Zerologon (CVE-2020-1472)
Атака Zerologon — это критическая уязвимость в протоколе Netlogon, которая позволяет злоумышленнику получить полный контроль над контроллером домена. Уязвимость, получившая идентификатор CVE-2020-1472, была обнаружена в 2020 году и вызвала широкий резонанс из-за своей опасности и простоты эксплуатации.
Атака Zerologon эксплуатирует уязвимость в протоколе Netlogon, который используется для аутентификации между клиентами и контроллерами домена. Уязвимость позволяет атакующему сбросить пароль учетной записи компьютера контроллера домена и получить контроль над ним.
Как это работает?
Атакующий отправляет специально сформированные запросы к контроллеру домена, используя протокол Netlogon.
Эти запросы позволяют атакующему сбросить пароль учетной записи компьютера контроллера домена на пустую строку.
После сброса пароля атакующий может использовать инструменты, такие как secretsdump.py, для извлечения данных из Active Directory. контроллере домена и получить полный контроль над ним.
Какие права нужны для выполнения Zerologon
Для выполнения атаки Zerologon атакующему не требуется никаких специальных прав. Уязвимость может быть эксплуатирована с любого устройства, имеющего доступ к контроллеру домена по протоколу Netlogon.
Обнаружение атаки Zerologon
Обнаружить Zerologon можно по событию изменения парля учетной записи контроллера домена (Event ID 4742, поле Password Last Set), особенно если изменение происходит от имени анонимной УЗ (без авторизации).
Атака DNS Admin Abuse
Атака DNS Admin Abuse — это метод компрометации Active Directory, при котором злоумышленник использует привилегии группы DNS Admins для выполнения кода на контроллере домена. (Группа DNS Admins имеет привилегии для управления DNS-сервером, который часто работает на контроллере домена). Эта атака позволяет атакующему получить полный контроль над доменом, если ему удается добавить вредоносную DLL через группу DNS Admins.
Как это работает?
Атакующий получает доступ к учетной записи, которая является членом группы DNS Admins.
Используя эти права, атакующий загружает вредоносную DLL на DNS-сервер.
DNS-сервер, работающий на контроллере домена, загружает и выполняет вредоносную DLL, что позволяет атакующему получить контроль над контроллером домена.
Пример использования DNS Admin Abuse:
Атакующий использует учетную запись, которая является членом группы DNS Admins, для загрузки вредоносной DLL:
После загрузки DLL атакующий может выполнить код с правами SYSTEM на контроллере домена.
Last updated