Сброс пароля администратора Active Directory

Сброс пароля администратора Active Directory

В этой статье мы рассмотрим сценарий сброса пароля администратора домена Active Directory. Эта возможность может понадобиться в случаях утраты прав доменного администратора вследствие, например, «забывчивости» или намеренного саботажа увольняющегося админа, атаки злоумышленников и т.д. Для успешного сброса пароля администратора домена необходимо иметь физический или удаленный доступ к консоли сервера (ILO, iDRAC или консоль VMware vSphere/Hyper-V/Proxmox, в случае использования виртуального DC).

В данном примере мы будем сбрасывать пароль администратора на контроллере домене с Windows Server 2019. Если в сети несколько контроллеров домена, рекомендуется выполнять процедуру на сервере с FSMO ролью PDC (Primary Domain Controller).

Сброс пароля администратора домена, если вы не знаете пароль DSRM

Загрузите ваш сервер с любого установочного диска Windows (это может быть установочная USB флешка с Windows, или ISO образ).

  1. На экране выбора параметров установки Windows нажмите сочетание клавиш
    Shift+F10
    чтобы открыть командную строку;
  2. Теперь нужно понять, какая буква назначена разделу, на которои хранится ваш Windows Server. Выполните команду:
    wmic logicaldisk get volumename,name

    В данном примере видно, что ваш офлайн образ Windows Server находится на диске C:. Именно это букву диска мы будем использовать в следующих командах;shift+F10 запуск командной строки на экране установки Windows
    Если этот способ не помог вам однозначно определить диск в Windows, последовательно выполните:
    diskpart
    ->
    list disk
    ->
    list vol
    diskpart получить информацию о дисках и буквах
  3. Создадим резервную копию оригинального файла utilman.exe:
    copy C:windowssystem32utilman.exe C:windowssystem32utilman.exebak
  4. Теперь нужно заменить файл utilman.exe файлом cmd.exe:
    copy c:windowssystem32cmd.exe c:windowssystem32utilman.exe /y
    заметить файл utilman.exe на cmd.exe
  5. Извлеките загрузочный образ (USB/ISO) и перезагрузите хост:
    wpeutil reboot
  6. После загрузки контроллера домена нажмите на экране входа кнопку «Специальные возможности» (Easy of access) чтобы открыть окно командной строки;
  7. Выполните команду
    whoami
    , чтобы уведитесь что командная строка запущена от имени NT AuthoritySYSTEM; utilman запуск cmd от имени SYSTEM на экране входа в Windows
  8. Выведите информацию о пользователе administrator:
    Net user administrator
    администратор домена отключен
  9. В этом примере видно, что этот пользователь входит в группу Domain admins, и сейчас он отключен:
    Account active: No
  10. Включите аккаунт администратора домена:
    net user administrator /active:yes
  11. Теперь вы можете сбросить пароль администратора домена или любого другого аккаунта:
    net user administrator *

    Задайте новый пароль администратора (обратите внимание, что новый пароль должен соответствовать доменной политике паролей);net user administrator сбросить пароль администратора домена
  12. Еще раз загрузите сервер с установочного диска и замените файл utilman.exe исходным файлом (чтобы не оставлять лазейку в безопасности сервера):
    copy c:windowssystem32utilman.exebak c:windowssystem32utilman.exe /y
  13. Перезагрузите контроллер домена в обычном режиме и проверьте, что теперь вы можете войти на DC с новым паролем администратора домена.

Сброс пароля администратора на виртуальном контроллере домена

Если у вас используются виртуальный контроллер домена, запущенный на любом из гипервизоров (ESXi, Hyper-V, Proxmox), можно сбросить пароль администратора с помощью PowerShell модуля DSInternals.
Для этого:

  1. Отключите ВМ с DC и подключите ее диск (vhdx,vmdk, и т.п.) к любой другой ВМ с Windows. Назначьте букву диска, например E:;
  2. Установите модуль DSInternals из галереи PowerShell:
    Install-Module DSInternals –Force
  3. Получите загрузочный ключ (boot key) с помощью которого шифруются хэши паролей в базе AD (ntds.dit):
    $bootkey= Get-BootKey -SystemHiveFilePath "E:WindowsSystem32configSYSTEM"
  4. Теперь можно получить информацию о любом аккаунте в базе данных AD:
    Get-ADDBAccount -SamAccountName 'Administrator' -DBPath "E:WindowsNTDSntds.dit" -BootKey $bootkey
  5. Если учетная запись администратора домена отключена, включите ее и задайте новый пароль:
    Enable-ADDBAccount -SamAccountName 'Administrator' -DBPath "E:WindowsNTDSntds.dit"

    Set-ADDBAccountPassword -SamAccountName 'administrator' -DBPath "E:WindowsNTDSntds.dit" -BootKey $bootkey

    Set-ADDBAccountPassword сбросить пароль адмнистратора домена с помощью powershell
  6. Отключите виртуальный диск от ВМ и включите контроллер домена;
  7. После его включения новый пароль администратора домена будет реплицирован на все DC.

Как сбросить пароль администратора домена через DSRM?

Если вы знаете пароль администратора DSRM, нужно загрузить ваш DC в режиме DSRM (сервер загружается с отключенными службами AD), выбрав соответствующую опцию в меню расширенных параметров загрузки.

Режим dsrm контроллера домена

На экране входа в систему ведите имя локального пользователя (administrator) и его пароль (пароль DSRM режима). Сброс пароля администратора active directory

В данном примере имя контроллера домена – DC01.
Проверим, под каким пользователем выполнен вход в системе, для этого выполним команду:
whoami /user

USER INFORMATION
 ----------------
User Name          SID
================== ============================================
dc01administrator S-1-5-21-3244332244-383844547-2464936909-500

Как вы видите, мы работаем под локальным админом.

Следующий шаг – смена пароля учетной записи администратора Active Directory (по умолчанию это учетная тоже называется Administrator). Чтобы сбросить пароль администратора домена мы создим отдельную службу, которая при запуске из-под SYSTEM сбрасывает в Active Directory пароль учетной записи Administrator:
sc create ResetADPass binPath= "%ComSpec% /k net user administrator P@ssw0rd1" start= auto

Примечание. Обратите внимание, при задании пути в переменной binPath, между знаком ‘=’ и ее значением необходим пробел. Кроме того, новый пароль должен обязательно отвечать доменным требованиям на длину и сложность пароля.

Проверьте, что служба создана:
sc qc ResetADPass

[SC] QueryServiceConfig SUCCESS
SERVICE_NAME: ResetADPass
TYPE               : 10  WIN32_OWN_PROCESS
START_TYPE         : 2   AUTO_START
ERROR_CONTROL      : 1   NORMAL
BINARY_PATH_NAME   : C:Windowssystem32cmd.exe /k net user administrator P@ssw0rd1
LOAD_ORDER_GROUP   :
TAG                : 0
DISPLAY_NAME       : ResetADPass
DEPENDENCIES       :
SERVICE_START_NAME : LocalSystem

Перезагрузите контроллер домена в нормальном режиме:
shutdown -r -t 0

Во время загрузки созданная нами служба изменит пароль учетной записи админа домена на P@ssw0rd1. Теперь вы можете войти на DC под этой учетной записью и паролем.
whoami /user

USER INFORMATION
----------------
User Name             SID
===================== ============================================
corpadministrator S-1-5-21-1737425439-783543262-1234318981-500

Осталось удалить созданную наму службу Windows:
sc delete ResetADPass

[SC] DeleteService SUCCESS

Итак, в этой статье мы разобрались, как можно сбросить пароль администратора домена AD. Еще раз отметим о важности обеспечения физической безопасности вашей IT инфраструктуры. Если кто-то кроме известного круга лиц имеет доступ к физическим серверам контроллеров домена, он может легко сбросить пароль любого пользователя или администратора. Если вам нужно разместить DC в менее доверенных локациях, рекомендуем использовать RODC (read-only domain controller).

PowerShell
Сброс пароля администратора Active Directory