Event ID 4704: Назначено право пользователя (User Right Assigned)
Архитектура назначения прав пользователей (User Rights Assignment)
Событие 4704 логируется в журнале Security операционной системы при предоставлении учетной записи пользователя или группе системного Права (Privilege / User Right). В архитектуре безопасности Windows права управляют тем, какие глубокие системные операции может выполнять субъект на локальном компьютере (в отличие от разрешений NTFS, которые управляют доступом к файлам). С точки зрения аудита ИБ, контроль события 4704 критически важен. Выдача несанкционированных прав — это метод закрепления злоумышленников (Persistence) и основа для атак типа Privilege Escalation (повышение привилегий до уровня SYSTEM).
Критические права (Privilege List), требующие контроля:
SeDebugPrivilege(Отладка программ): Дает полный доступ к памяти любого процесса. Используется утилитой Mimikatz для извлечения паролей (LSASS Dump).SeTcbPrivilege(Работа в режиме ОС): Позволяет процессу действовать от имени ядра.SeServiceLogonRight(Вход в качестве службы): Позволяет настроить запуск вредоносного бинарника как системного сервиса.SeTakeOwnershipPrivilege(Смена владельца): Позволяет захватить контроль над любыми системными файлами и ключами реестра.
Сценарии аудита и контроль системных привилегий
Сценарий 1: Мониторинг выдачи опасных привилегий через PowerShell
Аудит журнала безопасности для поиска фактов назначения права отладки или смены владельца за последние 30 дней.
# Поиск выдачи критических привилегий (SeDebugPrivilege / SeTakeOwnershipPrivilege)
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4704; StartTime=(Get-Date).AddDays(-30)} |
Where-Object {$_.Properties[1].Value -match 'SeDebugPrivilege|SeTakeOwnershipPrivilege'} |
Select-Object TimeCreated,
@{N='AssignedTo';E={$_.Properties[2].Value}},
@{N='Privilege';E={$_.Properties[1].Value}},
@{N='AssignedBy';E={$_.Properties[4].Value}} | Format-Table -AutoSizeСценарий 2: Централизованный контроль привилегий через GPO (Hardening)
Лучший способ предотвратить локальное назначение опасных прав — жестко прописать их в групповой политике уровня домена.
- Откройте консоль
gpmc.msc. - Перейдите:
Конфигурация компьютера -> Политики -> Параметры безопасности -> Локальные политики -> Назначение прав пользователя. - Найдите политику Отладка программ (Debug programs). Жестко укажите там ТОЛЬКО группу
Administrators. Любое ручное локальное изменение будет перезаписываться при следующем циклеgpupdate.
Сценарий 3: Настройка SIEM алертов на эскалацию
Событие 4704 часто генерируется легитимным ПО (например, инсталлятор SQL Server выдает права сервисной учетке). Настройте в SIEM (Wazuh, ELK) Baseline-профиль известных сервисных учетных записей и генерируйте Alert только тогда, когда права выдаются обычным пользователям (Domain Users).
Типовые ошибки администраторов
- Выдача прав 'Вход в качестве службы' (SeServiceLogonRight) через локальный secpol.msc: Если сервер находится под действием доменной политики (GPO), в которой настроено это право, локальные изменения через
secpol.mscбудут успешны (сгенерируется 4704), но через 90 минут доменная политика 'затрет' локальную, и служба перестанет запускаться. Права нужно править в целевой GPO.
Манипуляции с системными привилегиями — индикатор глубокой компрометации ОС и кражи учетных данных (Credential Dumping). Не рискуйте безопасностью: закажите Threat Hunting в ITSTM. Мы проведем расследование, выявим следы Mimikatz/CobaltStrike и защитим архитектуру ОС.
Частые вопросы (FAQ)
Какое событие фиксирует изъятие права у пользователя?
Отзыв (удаление) системной привилегии у пользователя логируется парным событием Event ID 4705 (A user right was removed).
Почему 4704 массово генерируется при обновлении групповых политик (gpupdate)?
Служба клиента Group Policy (gpsvc) при каждом цикле применения очищает и заново 'накатывает' параметры безопасности, назначенные в GPO, что может генерировать шквал событий 4704/4705, даже если фактический набор прав не изменился.
Отображает ли событие 4704 повышение прав через UAC (Запуск от имени Администратора)?
Нет. Механизм UAC фильтрует маркер доступа (Token). Событие 4704 фиксирует изменение самой базы политик безопасности (LSA Policy), а не временное использование прав процессом (что логируется событием 4673 - Privileged Service Called).
Как включить генерацию события 4704?
В расширенной политике аудита включите: 'Аудит изменения политик -> Аудит изменения политики авторизации' (Audit Authorization Policy Change) в режим Success.