В предыдущей статье мы рассказывали, что одной из техник защиты от извлечения паролей из памяти Windows mimikatz-like утилитами является запрет получения debug-привилегии для администраторов системы с помощью групповой политики Debug Program . Однако недавно обнаружилось, что без прав отладки (в Windows это привилегия SeDebugPrivilege ), локальный администратор сервера не может установить или обновлять Microsoft SQL Server. Дело в том, что установщик SQL Server при запуске проверяет наличие привилегий SeSecurity. SeBackup и SeDebug, которые нужны ему для запуска процесса SQL Server и получения информации об успешном запуске SQL Server. Вот как это выглядит.
Во время установки SQL Server при выполнении предварительных проверок установщик спотыкается на проверке Setup account privileges .
Откроем теперь отчет установки SystemConfigurationCheck_Report.htm .
В логе есть более детальная информация, указывающая, что у процесса установки отсутствует флаг SeDebug:
(09) 2017-09-12 14:25:13 Slp: Initializing rule : Setup account privileges
(09) 2017-09-12 14:25:13 Slp: Rule is will be executed : True
(09) 2017-09-12 14:25:13 Slp: Init rule target object: Microsoft.SqlServer.Configuration.SetupExtension.FacetPrivilegeCheck
(09) 2017-09-12 14:25:13 Slp: Rule ‘HasSecurityBackupAndDebugPrivilegesCheck’ Result: Running process has SeSecurity privilege, has SeBackup privilege and does not have SeDebug privilege.
(09) 2017-09-12 14:25:13 Slp: Evaluating rule : HasSecurityBackupAndDebugPrivilegesCheck
(09) 2017-09-12 14:25:13 Slp: Rule running on machine: msk-sql10
(09) 2017-09-12 14:25:13 Slp: Rule evaluation done : Failed
Я решил поискать обходной путь получения прав SeDebugPrivilege без изменения или отключения политики Debug programs. И как оказалось, имеется довольно простой способ обхода этой политики при наличии прав локального администратора на сервере. В этом нам поможет утилита secedit, позволяющая управлять локальными политиками безопасности сервера.
Проверяем текущие привилегии:
whoami /priv
Экспортируем текущие права пользователей, настроенные групповыми политиками в текстовый файл:
secedit /export /cfg secpolicy.inf /areas USER_RIGHTS
Теперь с помощью любого тестового редактора нужно открыть на редактирование файл secpolicy.inf и в секцию [Privilege Rights] добавить строку, предоставляющую права Debug Programs группе локальных администраторов.
SeDebugPrivilege = *S-1-5-32-544
Сохраните файл. Теперь нужно применить новые пользовательские права:
secedit /configure /db secedit.sdb /cfg secpolicy.inf /overwrite /areas USER_RIGHTS
SeDebugPrivilege Debug programs Enabled
Как вы понимаете, включение запретительной политики Debug programs не является панацей от получения права SeDebugPrivilege вредоносными программами, которые уже проникли на сервер с правами локального администратора, что может скомпрометировать все учетные записи пользователей/администраторов, работящих на сервере.
Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…
На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…
При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…
Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…
При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…
Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…