Введение в работу в Active Directory

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Author : MoneroMafia

Введение в работу в Active Directory



Как атаковать Active Directory с помощью методов Red Team


Active Directory (AD) — это служба каталогов, которая управляет пользователями, компьютерами, группами и ресурсами в сети Windows. Он часто используется предприятиями для централизации аутентификации, авторизации и администрирования своих систем. Однако у него также есть уязвимости и слабости, которые злоумышленники могут использовать для взлома сети и доступа к конфиденциальным данным.

В этой статье мы представим некоторые методы Red Team, которые позволяют атаковать Active Directory. Эти методы подразделяются на три категории: перечисление, повышение привилегий и сохранение.

Перечисление

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

Active Directory — это служба Microsoft Windows Server, позволяющая управлять удостоверениями и ресурсами в сети. Он хранит информацию о пользователях, группах, компьютерах, службах, политиках и т. д. в иерархической базе данных, называемой каталогом. Active Directory необходим для сетевой безопасности, поскольку он контролирует доступ к ресурсам и права пользователей. Поэтому важно защитить Active Directory от атак, направленных на компрометацию ее данных или получение контроля над доменом.

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

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

Существует несколько инструментов и команд, которые могут выполнять перечисление, например PowerView, BloodHound, AD Module, net, nltest, dsquery, dsacls и т. д. Например, чтобы получить список пользователей домена, мы можем использовать команду:

Bash: Скопировать в буфер обмена
Get-ADUser -Filter * -Свойства *

Эта команда возвращает все атрибуты всех пользователей в домене, такие как фамилия, имя, имя пользователя, пароль, группа, добавочный номер, телефон, адрес и т. д. Вы также можете использовать фильтры для уточнения поиска, например:

Bash: Скопировать в буфер обмена
Get-ADUser -Filter {PasswordNeverExpires -eq $true} -Свойства *


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

Чтобы вывести список групп домена, вы можете использовать команду:

Bash: Скопировать в буфер обмена
Get-ADGroup -Filter * -Свойства *

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

Bash: Скопировать в буфер обмена
Get-ADGroup -Filter {GroupCategory -eq "Security"} -Properties *

Эта команда возвращает группы безопасности, то есть группы, имеющие определенные права на сетевые ресурсы.

Чтобы вывести список машин в домене, вы можете использовать команду:

Bash: Скопировать в буфер обмена
Get-ADComputer -Filter * -Свойства *

Эта команда возвращает все атрибуты всех компьютеров в домене, такие как имя, операционная система, IP-адрес, роль, статус и т. д. Вы также можете использовать фильтры для уточнения поиска, например:

Bash: Скопировать в буфер обмена
Get-ADComputer -Filter {OperatingSystem -like "*Windows 7*"} -Properties *

Эта команда возвращает компьютеры, на которых установлена Windows 7 — устаревшая и потенциально уязвимая операционная система.

Для визуализации связей между объектами Active Directory можно использовать инструмент BloodHound, который генерирует интерактивные графики на основе собранных данных. Например, мы можем видеть, какие пользователи к каким группам принадлежат, какие группы имеют разрешения на какие объекты, какие объекты имеют делегирование Kerberos и т. д. Эта информация может помочь найти пути атак, такие как:

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

PowerView, BloodHound, AD Module, net, nltest, dsquery, dsacls — это инструменты и команды, которые имеют преимущества и недостатки для выполнения перечисления Active Directory. PowerView — очень мощное и незаметное средство, но его можно обнаружить решениями безопасности. BloodHound очень полезен для определения путей атак, но требует установки сервера и веб-интерфейса. Модуль AD очень прост в использовании и интеграции в сценарии, но для него требуются права администратора в домене или использование служебной учетной записи. net, nltest, dsquery, dsacls очень удобны и быстры в использовании, но они менее полны и менее гибки, чем инструменты PowerShell или BloodHound, и могут генерировать больше шума в сети. Поэтому необходимо выбрать тот инструмент или команду, которые лучше всего соответствуют ситуации и целям атаки.

Повышение привилегий

Повышение привилегий предполагает получение более широких прав, чем было предоставлено изначально, например переход от обычного пользователя к администратору домена или от администратора домена к администратору предприятия. Существует несколько методов повышения привилегий, таких как эксплуатация Kerberos, манипулирование ACL, ретрансляция NTLM, перехват сертификатов и т. д. Эти методы часто используются злоумышленниками для компрометации Active Directory — службы управления идентификацией и ресурсами в сети Windows¹.

Эксплойт Kerberos предполагает злоупотребление протоколом аутентификации, используемым Active Directory, который основан на обмене криптографическими билетами между клиентами и серверами. Восстановив эти билеты, их можно расшифровать, изменить или повторно использовать для аутентификации в качестве другого пользователя или доступа к защищенным ресурсам. Существует несколько вариантов этой техники, например Kerberoasting, Golden Ticket, Silver Ticket, AS-REP Roasting и т. д.

- Kerberoasting включает в себя запрос билета службы (TGS) для учетной записи службы, которая использует слабый пароль или пароль по умолчанию, и попытку взломать его в автономном режиме, чтобы получить пароль в виде открытого текста. Затем этот пароль можно использовать для аутентификации в качестве учетной записи службы, которая может иметь повышенные привилегии в сети. Мы можем использовать следующую команду с PowerView для получения списка учетных записей служб домена:

Bash: Скопировать в буфер обмена
Get-DomainUser -SPN | выберите samaccountname,serviceprincipalname

- Золотой билет предполагает создание поддельного билета предоставления билета (TGT) для учетной записи с высоким уровнем привилегий, например учетной записи krbtgt, которая используется контроллером домена для подписи билетов Kerberos. Затем мы можем использовать этот билет для запроса любого билета службы (TGS) и доступа к любому ресурсу в домене. Следующую команду можно использовать с Mimikatz для создания Золотого билета:

Bash: Скопировать в буфер обмена
kerberos::golden /user:Administrator /domain:lab.local /sid:S-1-5-21-1333680324-1226103849-725345543 /krbtgt:cb1c6faa1c302f2f7dfbc6e44b0f2a0b /id:500 /groups:512 /ptt

- Серебряный билет предполагает создание фальсифицированного билета службы (TGS) для учетной записи службы, например учетной записи CIFS, которая используется для доступа к общим файловым ресурсам. Затем мы можем использовать этот билет для доступа к ресурсу, связанному с учетной записью службы. Следующую команду можно использовать с Mimikatz для создания серебряного билета:

Bash: Скопировать в буфер обмена
kerberos::golden /user:Administrator /domain:lab.local /sid:S-1-5-21-1333680324-1226103849-725345543 /target:dc.lab.local /service:cifs /rc4:68a1ee7695c640efa65e1e42f27a14f8 /id:500 /группы:512 /птт
- AS-REP Roasting включает в себя запрос билета на предоставление билета (TGT) для учетной записи пользователя, у которой нет атрибута включенной предварительной аутентификации Kerberos, что является мерой безопасности, предотвращающей атаки повторного воспроизведения. Затем контроллер домена отправит обратно сообщение AS-REP, содержащее TGT, зашифрованный паролем пользователя. Затем мы можем попытаться взломать это сообщение в автономном режиме, чтобы получить пароль в открытом виде. Следующую команду можно использовать с PowerView для получения списка учетных записей пользователей, для которых не включена предварительная аутентификация Kerberos:

Bash: Скопировать в буфер обмена
Get-DomainUser -PreauthNotRequired -Properties samaccountname

Манипулирование списками управления доступом включает в себя изменение списков управления доступом (ACL) объектов Active Directory, которые определяют разрешения, предоставляемые пользователям, группам или компьютерам. Используя слабые места в настройке списков ACL, можно предоставить дополнительные права, такие как запись атрибутов, изменение паролей, добавление участников в группы и т. д. Существует несколько вариантов этого метода, например «Общая запись», «Общая запись для всех», «Запись владельца», «Запись DACL» и т. д.

- Общая запись заключается в использовании разрешения, которое позволяет вам записывать атрибуты объекта Active Directory, такие как пароль, группа, сценарий подключения и т. д. Затем мы можем использовать эти атрибуты для аутентификации объекта, изменения его членства в группе, выполнения вредоносного кода и т. д. Мы можем использовать следующую команду с PowerView для вывода списка объектов, имеющих разрешение Generic Write:

Bash: Скопировать в буфер обмена
Get-DomainObjectAcl -Filter "ObjectClass -eq 'user'" -ResolveGUIDs | ? {($_.ObjectType -eq '00000000-0000-0000-0000-000000000000') -and (($_.ActiveDirectoryRights -band 0x10) -or ($_.ActiveDirectoryRights -band 0x10000000))}

- Generic All предполагает использование разрешения, которое позволяет вам полностью контролировать объект Active Directory, например изменять его, удалять, переименовывать и т. д. Затем этот объект можно использовать для выполнения вредоносных действий в сети, таких как создание билетов Kerberos, изменение списков ACL, установка программного обеспечения и т. д. Мы можем использовать следующую команду с PowerView для вывода списка объектов, имеющих разрешение «Общие все»:

Bash: Скопировать в буфер обмена
Get-DomainObjectAcl -Filter "ObjectClass -eq 'user'" -ResolveGUIDs | ? {($_.ObjectType -eq '00000000-0000-0000-0000-000000000000') -and ($_.ActiveDirectoryRights -band 0x10000000)}

- Запись владельца предполагает использование разрешения, которое позволяет вам изменить владельца объекта Active Directory, то есть человека или группы, которые имеют полный контроль над объектом. Затем вы можете стать владельцем объекта и изменить его атрибуты, разрешения, отношения и т. д. Мы можем использовать следующую команду с PowerView для вывода списка объектов, имеющих разрешение на запись владельца:

Bash: Скопировать в буфер обмена
Get-DomainObjectAcl -Filter "ObjectClass -eq 'user'" -ResolveGUIDs | ? {($_.ObjectType -eq '00000000-0000-0000-0000-000000000000') -and ($_.ActiveDirectoryRights -band 0x80000)}

- Write DACL состоит из использования разрешения, которое позволяет вам изменять список дискреционного управления доступом (DACL) объекта Active Directory, который является частью ACL, определяющей разрешения, предоставленные или запрещенные пользователям или группам. Затем вы можете изменить DACL объекта, чтобы предоставить дополнительные права, такие как «Общая запись», «Общее все», «Владелец записи» и т. д. Мы можем использовать следующую команду с PowerView для вывода списка объектов, имеющих разрешение на запись DACL:

Bash: Скопировать в буфер обмена
Get-DomainObjectAcl -Filter "ObjectClass -eq 'user'" -ResolveGUIDs | ? {($_.ObjectType -eq '00000000-0000-0000-0000-000000000000') -and ($_.ActiveDirectoryRights -band 0x40000)}

Ретрансляция NTLM включает перехват и повторную отправку сообщений аутентификации NTLM между клиентами и серверами. Используя такие инструменты, как Responder или Inveigh, можно выдать себя за сервер и попросить клиентов пройти аутентификацию с использованием имени пользователя и пароля. Затем эту информацию можно передать на другой сервер для доступа к таким сервисам, как SMB, HTTP, LDAP и т. д. Существует несколько вариантов этого метода, например SMB Relay, HTTP Relay, LDAP Relay и т. д.

- SMB Relay состоит из ретрансляции сообщений аутентификации NTLM на SMB-сервер, который является службой общего доступа.
Хорошо, я продолжу создание параграфа о ретрансляции NTLM. Вот продолжение:

- SMB Relay состоит из ретрансляции сообщений аутентификации NTLM на SMB-сервер, который является службой общего доступа к файлам и принтерам Windows. Затем вы можете получить доступ к общим файлам сервера, читать или записывать туда данные, выполнять удаленные команды и т. д. Мы

Упорство

Постоянство предполагает поддержание скомпрометированного доступа к сети даже после обнаружения или переключения компьютеров. Существует несколько методов, позволяющих добиться устойчивости, например создание учетных записей, изменение паролей, добавление ключей, внедрение бэкдоров и т. д. Эти методы часто используются злоумышленниками, чтобы оставаться подключенными к сети и продолжать кражу данных, распространение вредоносного ПО или подготовку к более масштабным атакам¹.

Создание учетной записи предполагает создание скрытых пользователей или групп в Active Directory, которые при необходимости можно использовать для повторного подключения к сети. Эти учетные записи можно скрыть, используя имена, аналогичные существующим, изменяя их атрибуты или помещая их в незаметные организационные подразделения (OU). Например, злоумышленник может создать учетную запись с именем «Администратор» с тем же отображаемым именем, что и учетная запись «Администратор», но с другим SID. Затем они могут изменить атрибут «userAccountControl», чтобы скрыть учетную запись в консоли администрирования «Пользователи и компьютеры». Он также может поместить учетную запись в подразделение с именем «Система» или «Скрытый», чтобы сделать ее менее заметной. Наконец, он может назначить административные права учетной записи в домене или на определенных машинах.

Смена паролей предполагает изменение паролей существующих пользователей или групп в Active Directory, не вызывая подозрений. Эти пароли можно использовать для повторной аутентификации в сети, когда это необходимо. Можно изменить пароли, не вызывая оповещения, с помощью таких инструментов, как Mimikatz, Rubeus или PassHunt. Например, злоумышленник может использовать Mimikatz для извлечения текстовых паролей или хэшей пользователей, вошедших на взломанную машину. Затем он может использовать Rubeus для изменения пароля пользователя или группы с высокими привилегиями без изменения атрибута «pwdLastSet», который указывает дату последней смены пароля. Наконец, он может использовать PassHunt для поиска паролей, хранящихся в файлах, реестрах или базах данных компьютера.

Добавление ключей предполагает добавление открытых или закрытых ключей в атрибуты пользователей или групп в Active Directory, которые можно использовать для аутентификации в сети с помощью протокола SSH или службы WinRM. Эти ключи можно добавить с помощью таких инструментов, как PowerSploit, Nishang или Evil-WinRM. Например, злоумышленник может использовать PowerSploit для создания пары ключей SSH и добавления их в атрибут unixUserPassword пользователя или группы. Затем он может использовать Nishang для подключения по SSH к машине Linux в сети, используя имя пользователя или группу и пароль. Наконец, он может использовать Evil-WinRM для подключения через WinRM к машине Windows в сети, используя имя и закрытый ключ пользователя или группы.

Внедрение бэкдора заключается в установке на сетевые машины вредоносных программ, позволяющих удаленно управлять этими машинами или выполнять произвольные команды. Эти программы можно установить с помощью таких инструментов, как Metasploit, Empire, Cobalt Strike и т. д. Например, злоумышленник может использовать Metasploit для создания полезной нагрузки, которая запускается при загрузке компьютера и устанавливает постоянное соединение с сервером, контролируемым злоумышленником. Затем он может использовать Empire для создания агента, который внедряется в законный процесс и связывается с контроллером по зашифрованному каналу. Наконец, он может использовать Cobalt Strike для создания маяка, который скрывается в сетевом трафике и позволяет ему выполнять удаленные команды, передавать файлы или запускать боковые атаки.


Заключение

В этой статье мы представили некоторые методы Red Team для атаки на Active Directory, черпая вдохновение из таких источников, как [Заметки Red Team], [Потрясающая шпаргалка Red Team] и [Учебное пособие по Red Team]. Эти методы подразделяются на три категории: перечисление, повышение привилегий и сохранение. Эти методы не являются исчерпывающими, существуют и другие, более сложные или конкретные методы атаки на Active Directory. Мы приглашаем вас обратиться к указанным источникам, чтобы углубить свои знания и практиковать эти методы в законной и безопасной среде.
 
Сверху Снизу