Подробный гайд: Добавление компьютера в домен Active Directory со скрытием объекта

Как скрыть компьютер в Active Directory при вводе в домен: пре-стейджинг, настройка ACL, режим List Object и аудит безопасности.

2026.05.09                


Подробный гайд: Добавление компьютера в домен Active Directory со скрытием объектаПодробный гайд: Добавление компьютера в домен Active Directory со скрытием объекта

Важное предупреждение:

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


Метод 1: Предварительное создание объекта + настройка прав доступа

Шаг 1: Пре-стейджинг компьютерного объекта

  1. Откройте Active Directory Users and Computers (ADUC)
  2. Включите View → Advanced Features
3. Создайте компьютерный объект в нужном OU:
  • ПКМ по контейнеру → New → Computer
  • Укажите имя компьютера (без $ — оно добавится автоматически)
  • На вкладке Security настройте права (см. ниже)

Шаг 2: Ограничение видимости через права доступа

Для скрытия объекта от обычных пользователей и администраторов:

# Пример PowerShell: удаление прав чтения для группы "Domain Users"
$computerDN = "CN=TEST-PC,OU=Hidden,DC=domain,DC=local"
$acl = Get-Acl -Path "AD:\$computerDN"

# Создаём правило "Deny Read" для группы
$rule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule `
    ([System.Security.Principal.SecurityIdentifier]"S-1-5-21-...-513"), `
    "GenericRead", `
    "Deny", `
    "None", `
    "None"

$acl.AddAccessRule($rule)
Set-Acl -Path "AD:\$computerDN" -AclObject $acl

Важно:

Deny-права переопределяют Allow. Убедитесь, что нужные администраторы сохранят доступ.

Шаг 3: Присоединение компьютера к домену

# Присоединение с использованием пре-созданного объекта
Add-Computer -DomainName "domain.local" `
             -Credential (Get-Credential) `
             -OUPath "OU=Hidden,DC=domain,DC=local" `
             -PassThru -Restart -Force

Метод 2: Включение режима "List Object" (dsHeuristics)

Это наиболее эффективный способ скрытия объектов на уровне всего домена.

Что это такое?

В обычном режиме: если у пользователя есть право List Contents на контейнере — он видит все дочерние объекты.
В режиме List Object: пользователь видит только те объекты, на которые у него есть явное право List Object.

Настройка:

Шаг 1: Включение режима через ADSI Edit

  1. Запустите adsiedit.msc
  2. Подключитесь к Configuration Partition
3. Перейдите:
   CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=...
  1. Откройте свойства → атрибут dSHeuristics
  2. Установите значение: 001 (третий символ = 1 активирует режим)

Формат dSHeuristics: строка из 5+ символов.
Позиция 3: 0 = выкл, 1 = включён режим List Object

Шаг 2: Настройка прав на контейнерах

После включения режима:
  • Удалите право List Contents у группы Authenticated Users на целевых OU
  • Выдайте право List Object только доверенным группам/пользователям
# Пример: удаление прав у Authenticated Users на конкретной OU
$ouPath = "OU=Hidden,DC=domain,DC=local"
$acl = Get-Acl -Path "AD:\$ouPath"

# Находим и удаляем ACE для Authenticated Users с правом ListContents
$aceToRemove = $acl.Access | Where-Object {
    $_.IdentityReference -like "*Authenticated Users*" -and 
    ($_.ActiveDirectoryRights -band [System.DirectoryServices.ActiveDirectoryRights]::ListChildren)
}
if ($aceToRemove) {
    $acl.RemoveAccessRule($aceToRemove)
    Set-Acl -Path "AD:\$ouPath" -AclObject $acl
}

Шаг 3: Проверка

  • Обычные пользователи не увидят скрытые объекты в ADUC
  • Для просмотра включите Advanced Features и убедитесь, что объекты не отображаются

Метод 3: Использование специализированных инструментов (Adaxes)

Если вы используете Adaxes для управления AD:
  1. Удалите стандартную роль Domain user, которая даёт право просмотра всех объектов
  2. Используйте встроенную роль Blind user с правом Deny - Read - All object types
  3. Назначьте эту роль целевым пользователям и укажите в области действия скрытые компьютеры/OU
Преимущество:

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


Дополнительные рекомендации по безопасности

1. Мониторинг изменений
Включите аудит изменений прав доступа:
  • Политика: Audit Directory Service Changes
  • Отслеживайте события 5136 (изменение объекта) и 4662 (операция с объектом)
2. Избегайте опасных конфигураций

При пре-стейджинге не назначайте права "Everyone" или "Authenticated Users" на присоединение компьютера — это может дать злоумышленникам возможность настройки Resource-Based Constrained Delegation.

3. Регулярная проверка скрытых объектов
Используйте инструменты для обнаружения скрытых объектов:
  • AD Hidden Object Detector (Semperis) — сравнивает количество объектов на уровне репликации с видимыми через LDAP
  • BloodHound с расширенными проверками прав
4. Документирование

Ведите реестр скрытых объектов с обоснованием, сроками и ответственными лицами — это критично для аудита и расследований инцидентов.


Чек-лист перед внедрением

Действие
Получено письменное одобрение руководства
Протестировано в изолированной среде
Настроены права для администраторов ИБ
Включён аудит изменений прав
Создана документация по скрытым объектам
Определён срок пересмотра конфигурации

Полезные ресурсы

  • Microsoft: Domain join permissions
  • Semperis: Finding Hidden AD Objects
  • Adaxes: Hide Objects From Users
  • Dirk-jan Mollema: Pre-created Computer Accounts

Совет:

Начинайте с наименее инвазивных методов (права доступа на конкретном объекте) перед включением глобальных настроек вроде dsHeuristics.