Использование существующих функций Microsoft для наступательных операций очень распространено во время оценки RT, поскольку это дает возможность слиться с окружающей средой и остаться незамеченным. Microsoft представила объект активного каталога "AdminSDHolder" для защиты учетных записей с высокими привилегиями, таких как администраторы домена и администраторы предприятия, от непреднамеренных изменений разрешений, поскольку он используется в качестве шаблона безопасности. Active Directory периодически извлекает ACL объекта "AdminSDHolder" (каждые 60 минут по умолчанию) и применяет разрешения ко всем группам и учетным записям, которые являются частью этого объекта. Это означает, что во время операций RT, даже если учетная запись будет обнаружена и удалена из группы с высоким уровнем привилегий в течение 60 минут (если только она не будет принудительно принудительной), эти разрешения будут отменены.
В случае, если домен был скомпрометирован, стандартная учетная запись пользователя может быть добавлена в список управления доступом "AdminSDHolder", чтобы установить постоянство домена. Этот пользователь получит привилегии "GenericAll", что эквивалентно администратору домена. Эта техника не нова, так как впервые она была представлена Шоном Меткалфом( https://twitter.com/pyrotek3) на DerbyCon в 2015 году. Реализация атаки тривиальна из консоли PowerShell с повышенными правами, выполнив следующий модуль PowerView:
Add-ObjectAcl -TargetADSprefix 'CN=AdminSDHolder,CN=System' -PrincipalSamAccountName pentestlab -Verbose -Rights All
Через 60 минут изменения в разрешениях будут применены, и модуль "Get-ObjectAcl" можно будет использовать для проверки наличия у пользователя "pentestlab" прав Active Directory "GenericAll".
Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs | ?{$_.IdentityReference -match 'pentestlab'}
Изменения в ACL вступят в силу автоматически через 60 минут. Это связано с процессом распространения дескриптора безопасности (SDProp), который запускается каждые 60 минут на эмуляторе основного контроллера домена (PDC) и заполняет список управления доступом разрешениями безопасности, которые существуют в AdminSDHolder для групп и учетных записей. Однако их можно принудительно изменить, изменив DN, как показано ниже, с помощью утилиты "ldp.exe".
В качестве альтернативы модификация определенного раздела реестра на контроллере домена может сократить временной интервал SDProp до 3 минут (шестнадцатеричное значение 12c). Следует отметить, что Microsoft не рекомендует изменять этот параметр, поскольку это может вызвать проблемы с производительностью в отношении процесса LSASS в домене.
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /V AdminSDProtectFrequency /T REG_DWORD /F /D 300
С точки зрения Active Directory видно, что пользователь "pentestlab" был добавлен в объект "AdminSDHolder", просмотрев его свойства.
Группы и учетные записи, которые являются частью контейнера "AdminSDHolder", будут иметь атрибут "adminCount", установленный в 1. Этот флаг указывает, что разрешения из этого контейнера будут скопированы через 60 минут по всему домену, даже если права будут изменены.
Поскольку у пользователя есть необходимые разрешения, его можно добавить в группу "Администраторы домена".
net group "domain admins" pentestlab /add /domain
Выполнение приведенной ниже команды проверит, что контроллер домена теперь доступен, а постоянство домена установлено.
dir \\10.0.0.1\c$
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://pentestlab.blog/2022/01/04/domain-persistence-adminsdholder/
В случае, если домен был скомпрометирован, стандартная учетная запись пользователя может быть добавлена в список управления доступом "AdminSDHolder", чтобы установить постоянство домена. Этот пользователь получит привилегии "GenericAll", что эквивалентно администратору домена. Эта техника не нова, так как впервые она была представлена Шоном Меткалфом( https://twitter.com/pyrotek3) на DerbyCon в 2015 году. Реализация атаки тривиальна из консоли PowerShell с повышенными правами, выполнив следующий модуль PowerView:
Add-ObjectAcl -TargetADSprefix 'CN=AdminSDHolder,CN=System' -PrincipalSamAccountName pentestlab -Verbose -Rights All
Через 60 минут изменения в разрешениях будут применены, и модуль "Get-ObjectAcl" можно будет использовать для проверки наличия у пользователя "pentestlab" прав Active Directory "GenericAll".
Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs | ?{$_.IdentityReference -match 'pentestlab'}
Изменения в ACL вступят в силу автоматически через 60 минут. Это связано с процессом распространения дескриптора безопасности (SDProp), который запускается каждые 60 минут на эмуляторе основного контроллера домена (PDC) и заполняет список управления доступом разрешениями безопасности, которые существуют в AdminSDHolder для групп и учетных записей. Однако их можно принудительно изменить, изменив DN, как показано ниже, с помощью утилиты "ldp.exe".
В качестве альтернативы модификация определенного раздела реестра на контроллере домена может сократить временной интервал SDProp до 3 минут (шестнадцатеричное значение 12c). Следует отметить, что Microsoft не рекомендует изменять этот параметр, поскольку это может вызвать проблемы с производительностью в отношении процесса LSASS в домене.
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /V AdminSDProtectFrequency /T REG_DWORD /F /D 300
С точки зрения Active Directory видно, что пользователь "pentestlab" был добавлен в объект "AdminSDHolder", просмотрев его свойства.
Группы и учетные записи, которые являются частью контейнера "AdminSDHolder", будут иметь атрибут "adminCount", установленный в 1. Этот флаг указывает, что разрешения из этого контейнера будут скопированы через 60 минут по всему домену, даже если права будут изменены.
Поскольку у пользователя есть необходимые разрешения, его можно добавить в группу "Администраторы домена".
net group "domain admins" pentestlab /add /domain
Выполнение приведенной ниже команды проверит, что контроллер домена теперь доступен, а постоянство домена установлено.
dir \\10.0.0.1\c$
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://pentestlab.blog/2022/01/04/domain-persistence-adminsdholder/