✍️ Статья Сохраняем доступ. Бэкдоры в Active Directory. Часть 1.

The 146X Project Dublikat Web Studio Avram Lincoln AL Service Navigator Knyaz

Tartuga

💰 Проверенный продавец
Регистрация
19.12.2019
Сообщения
93
Во время атаки на инфраструктуру Active Directory очень важно сохранить полученный доступ. Для этого используются различные методы и средства, в том числе — особенности групповых политик и бэкдоры. В этой статье мы рассмотрим использование групповой политики и некоторых методов внедрения в критические процессы для поддержания привилегированного доступа.

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

Групповые политики сохраняются как объекты групповой политики (GPO), которые затем связываются с объектами Active Directory. Дело в том, что групповые политики могут включать параметры безопасности, разделы реестра, правила установки программного обеспечения, сценарии для запуска и завершения работы, а члены домена обновляют параметры групповой политики по умолчанию каждые 90 минут на своих машинах и каждые 5 минут на контроллере домена.

В большинстве случаев в домене точно настроены:

  • один объект групповой политики, определяющий обязательный пароль, Kerberos и политики всего домена;
  • один объект групповой политики, настроенный для подразделения контроллеров домена;
  • один объект групповой политики, настроенный для подразделения серверов и рабочих станций.
Посмотреть групповые политики можно в окне «Диспетчер серверов → Управление групповой политикой».

mX8D5GFstJE.jpg

Управление групповой политикой
Файлы, которые содержат параметры политики («Шаблон групповой политики») расположены по пути C:\Windows\SYSVOL\[domain]\Policies\ на контроллере домена.

uIHSfyv72S0.jpg

Шаблон групповой политики
Используя PowerShell Active Directory Get-ADObject, можно проверить наличие объекта групповой политики и его ключевые поля, интересующие нас.

PS > Get-ADObject 'CN={428FE319-FF53-4569-94A3-7C855A82570E},CN=Policies,CN=System,DC=domain,DC=dom'

irf4TDylyLM.jpg

Использование Get-ADObject для получения основной информации об объекте групповой политикиPS > Get-ADObject 'CN={428FE319-FF53-4569-94A3-7C855A82570E},CN=Policies,CN=System,DC=domain,DC=dom' -Properties displayname,gpcfilesyspath,gpcmachineextensionnames,gpcuserextensionnames

mIKQOniPtEw.jpg

Использование Get-ADObject для получения ключевой информации об объекте групповой политики

При создании объекта групповой политики он может быть как связан, так и не связан с каким-либо объектом Active Directory. Если такая связь существует, атрибут gPLink этого объекта будет обновлен и в него будет добавлено значение DistinguishedName групповой политики. По этому признаку можно определить, какие групповые политики применяются к данному объекту Active Directory.

Если мы перейдем в любую директорию объекта групповой политики, то есть в C:\Windows\SYSVOL\[domain]\Policies\, то обнаружим следующие вложенные объекты:

  1. Machine — директория с настройками машины для объекта групповой политики.
  2. User — директория с пользовательскими настройками для объекта групповой политики.
  3. GPT.INI — файл, который содержит параметры конфигурации объекта групповой политики.
o6h5nvrwtD4.jpg

Содержимое директории объекта групповой политики
Групповая политика была создана, чтобы упростить управление ресурсами в домене, однако злоумышленник также может использовать ее возможности для своих целей. К примеру, таким образом можно подменить программы, создать запланированные задачи, добавить новую локальную учетную запись на все компьютеры. Также приведу список интересных возможностей, которыми лично пользовался сам или видел, как пользовались другие операторы.

  1. Использование сценариев PowerShell или VBS для настройки членства в группах на уровне домена.
  2. Запуск Invoke-Mimikatz на всех контроллерах домена в качестве SYSTEM через определенный промежуток времени (например, раз в три дня).
  3. Получение учетной записи krbtgt, а затем планирование задачи запуска DCSync на определенных машинах во всем лесу с использованием поддельных билетов Kerberos.
  4. Установка RAT и добавление исключения в антивирусные правила в домене или лесу.
Применение групповой политики по умолчанию заключается в обновлении групповой политики на клиентах. При этом если новая политика совпадает со старой, та обновляться не будет. Назначить разрешения для политики можно в том же разделе «Управление групповой политикой», выбрав политику и перейдя к настройкам делегирования.

_xxENC6vZUk.jpg

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

SeEnableDelegationPrivilege.
Эта привилегия определяет разрешение доверия к учетным записям компьютеров и пользователей при делегировании. Таким образом, она распространяется на домен, а не на локальную машину в этом домене. Право SeEnableDelegationPrivilege контролирует изменение свойства msDS-AllowedToDelegateTo, которое содержит объекты для ограниченного делегирования.

Исходя из этого, оператор не может изменить ни настройки управления учетными записями пользователей, связанные с делегированием, ни свойство msDS-AllowedToDelegateTo для объекта, если мы не обладаем привилегией SeEnableDelegationPrivilege.

iAsCzMQxiFM.jpg

Запрет на изменение свойства msDS-AllowedToDelegateTo
Так как право SeEnableDelegationPrivilege применимо только на самом контроллере домена, оператору необходимо проверить политику контроллера домена по умолчанию (имеет guid {6AC1786C-016F-11D2-945F-00C04fB984F9}). Проверить данную настройку можно в файле \MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf для данной политики.

7ESaWXFyHek.jpg

Разрешение SeEnableDelegationPrivilege
xxbxzCnYZ-U.jpg

Имя объекта по SID
Иными словами, по умолчанию только администраторы имеют право изменять параметры делегирования. Если мы имеем права GenericAll/GenericWrite для любых объектов в домене, нам необходимо получить привилегию SeEnableDelegationPrivilege. Сделать это проще, чем кажется. Допишем имя учетной записи в указанный выше файл.
 

📌 Золотая реклама

AnonPaste

Верх