Перейти к содержимому
AD Academy
Delegation в Active Directory
Продвинутый16 мин.Обновлено: Тема 4 из 4

Resource-Based Constrained Delegation (RBCD)

Делегирование, определяемое самим ресурсом — и почему это популярный путь атаки.

Не прочитано

Что вы узнаете

  • Почему атакующие любят RBCD
  • Защита
  • Делегирование, определяемое самим ресурсом — и почему это популярный путь атаки.

Перед этой темой стоит прочитать:Constrained Delegation (KCD)

В решение переносится на ресурс: целевой компьютер сам определяет в атрибуте msDS-AllowedToActOnBehalfOfOtherIdentity, кому разрешено выдавать себя за него. Административное преимущество: не нужны права Admin для настройки делегирования — достаточно контроля над целевым объектом.

שלב 1: ניצול MachineAccountQuota כדי ליצור חשבון מחשב EVIL-PC$ בשליטת התוקף. שלב 2: עם הרשאת GenericWrite על TARGET-PC כותבים את msDS-AllowedToActOnBehalfOfOtherIdentity כך ש־EVIL-PC$ רשאי להתחזות. שלב 3: בקשת S4U מפיקה כרטיס בתור Administrator וגישה מלאה ל־TARGET-PC. הגנה: MachineAccountQuota=0, ניטור אירוע 5136, ו־Protected Users. BloodHound מסייע לאתר הרשאות כתיבה על אובייקטי מחשב.

Почему атакующие любят RBCD

  • По умолчанию любой пользователь домена может присоединить до 10 компьютеров () и создать подконтрольную ему учётную запись компьютера.
  • Если у атакующего есть право записи на объект целевого компьютера — он настраивает на нём в пользу созданной им учётной записи.
  • Затем он запрашивает билет S4U и выдаёт себя за локального Administrator на этом компьютере.
# Проверка, кто может олицетворять определенный компьютер
Get-ADComputer TARGET-PC -Properties PrincipalsAllowedToDelegateToAccount

# Очистка подозрительной настройки RBCD
Set-ADComputer TARGET-PC -PrincipalsAllowedToDelegateToAccount $null
powershell

Защита

  • Снизить до 0 и делегировать присоединение компьютеров выделенной команде.
  • Проверять права записи (GenericWrite / WriteDACL) на объекты компьютеров — помогает это отобразить.
  • Мониторить изменения атрибута msDS-AllowedToActOnBehalfOfOtherIdentity (Event ID 5136).
  • Помещать чувствительные учётные записи в Protected Users и помечать их как недоступные для делегирования.
Архитектура и теория — под капотом

В контроль переходит к цели: компьютер содержит атрибут msDS-AllowedToActOnBehalfOfOtherIdentity — бинарный Security Descriptor со списком разрешенных SIDs. Административное преимущество, но угроза безопасности, если у кого-то есть разрешение на запись для объекта компьютера.

  • Тот, у кого есть GenericWrite / WriteDacl / GenericAll на компьютере — может записать атрибут и захватить его.
  • Злоумышленнику нужна учетная запись с . =10 позволяет любому пользователю создавать компьютер.
  • Не требуется Admin и Reboot — поэтому это предпочтительная техника в Red Team.
Практическая настройка (PowerShell / GUI)
# Легитимное определение
Set-ADComputer FILE01 -PrincipalsAllowedToDelegateToAccount (Get-ADComputer WEB01)

# Аудит - кто уполномочен действовать от имени кого
Get-ADComputer -Filter * -Properties PrincipalsAllowedToDelegateToAccount |
  Where-Object { $_.PrincipalsAllowedToDelegateToAccount }

# Блокировка создания компьютеров обычными пользователями
Set-ADDomain -Identity corp.com -Replace @{'ms-DS-MachineAccountQuota'='0'}
powershell
Реальные сценарии в организации
  • Миграция приложений на новый SQL без изменения учетной записи приложения.
  • Переход со старого веб-сервера на новый — цель сама разрешает новый сервер.
Диагностика и устранение неполадок
  • Изменение атрибута не вступает в силу до ~15 минут из-за ticket cache — klist purge ускоряет процесс.
Глоссарий и быстрая командная строка
  • PrincipalsAllowedToDelegateToAccount — удобная форма атрибута.
  • Rubeus s4u — классический инструмент для эксплуатации.
  • Защитник: Authentication Policies + Silos.

Проверь себя

Кто определяет разрешение в Resource-Based Constrained Delegation?

Эта страница вам помогла?