Подробный гайд: Добавление компьютера в домен Active Directory со скрытием объекта
Важное предупреждение:
Скрытие объектов в Active Directory может нарушать политики безопасности организации, усложнять аудит и мониторинг. Используйте эти методы только в легитимных целях: тестовые среды, изолированные проекты, специфические требования безопасности с одобрения руководства.
Метод 1: Предварительное создание объекта + настройка прав доступа
Шаг 1: Пре-стейджинг компьютерного объекта
- Откройте Active Directory Users and Computers (ADUC)
- Включите 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
- Запустите adsiedit.msc
- Подключитесь к Configuration Partition
3. Перейдите:
CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=...
- Откройте свойства → атрибут dSHeuristics
- Установите значение: 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:
- Удалите стандартную роль Domain user, которая даёт право просмотра всех объектов
- Используйте встроенную роль Blind user с правом Deny - Read - All object types
- Назначьте эту роль целевым пользователям и укажите в области действия скрытые компьютеры/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.