Смена пароля пользователя в AD из PowerShell

Сегодня мы научимся устанавливать средства удаленного администрирования сервера на примере модуля Active Directory для Windows PowerShell, все это мы будем делать в операционной системе Windows Server 2016.

Что такое RSAT?

RSAT или Remote Server Administration Tools – это средства удаленного администрирования сервера, которые предназначены для управления ролями и компонентами сервера. В состав RSAT входят и необходимые оснастки управления, и утилиты командной строки и модули Windows PowerShell. Вы можете установить все это сразу, а можете только то, что Вам нужно.

Если Вы хотите установить средства удаленного администрирования сервера на клиентскую операционную систему, то Вам предварительно необходимо скачать их с официального сайта Microsoft.

В серверных операционных систем они поставляются в виде компонента, и сегодня мы научимся устанавливать RSAT в Windows Server 2016.

Способ первый

Открываем оснастку «Active Directory Users and Computers» и находим в ней нужный компьютер. Кликаем на нем правой клавишей мыши и в контекстном меню выбираем пункт «Reset Account». Затем заходим на компьютер под локальной учетной записью и заново вводим его в домен.

Способ первый

Примечание. Кое где встречаются рекомендации удалить компьютер из домена и заново завести. Это тоже работает, однако при этом компьютер получает новый SID и теряет членство в группах, что может привести к непредсказуемым последствиям.

Способ этот довольно громоздкий и небыстрый, т.к. требует перезагрузки, однако работает в 100% случаев.

Замена командной строки на PowerShell в контекстном меню «Пуск».

Вот во втором способе, мы использовали контекстное меню «Пуска» и там по-умолчанию добавлена командная строка. Это можно исправить. Скажем для системных администраторов, все чаще нужен PowerShell, вместо командной строки и вместе с добавлением контекстного меню, Microsoft добавили возможность замены командной строки на Windows PowerShell. Для этого, необходимо кликнуть правой клавишей мыши по пустому месту на «Панели задач». И выбрать её «Свойства».

Замена командной строки на PowerShell в контекстном меню «Пуск».

На вкладке «Навигация» ставим галочку на «Заменить командную строку оболочкой Windows PowerShell…» и жмём ОК.

Читайте также:  Диск загружен на 100% процентов в диспетчере задач Windows 10

Теперь в контекстном меню можно сразу же запускать Windows PowerShell.

Замена командной строки на PowerShell в контекстном меню «Пуск».

Материал сайта

Замена командной строки на PowerShell в контекстном меню «Пуск».

Еще по теме:

  • Как просто запустить командную строку (от имени…
  • Как запустить очистку дисков стандартные средствами…
  • Как отключить Windows SmartScreen в Windows 10, 8.1, 8
  • Как открыть настройки на Windows 10

Azure Active Directory

Azure Active Directory (Azure AD) — облачная служба управления удостоверениями и доступом. Она нужна для создания учетных записей пользователей и управления ими и применяется в облачных сервисах Microsoft, таких как Azure, Office 365, SharePoint. Если в AD для аутентификации пользователей служит Kerberos, то здесь в той же роли используется OAuth 2.0.

Синхронизация AD и Azure AD происходит по трем сценариям.

  1. Сценарий синхронизации каталога. Он позволяет синхронизировать с облаком новые учетные записи пользователей и групп, при этом логин у пользователя синхронизируется с AD, а пароль придется сменить, так как он не синхронизируется.
  2. Сценарий синхронизации паролей дает возможность пользователям логиниться в облачный сервис с паролем от локальной учетной записи AD. При этом синхронизируется логин и хеш пароля.
  3. Сценарий единого входа обеспечивает проверку подлинности пользователей в локальном каталоге AD и позволяет реализовать сценарий единого входа с использованием корпоративных учетных данных — за счет синхронизации токенов доступа.

Про атаку на сценарий единого входа много рассказать не могу, и для него нужны права администратора. Так как пароль в данном случае передается между Azure AD Connect и Azure ServiceBus в открытом виде, то есть возможность его перехватить. FileAzureadHookDLL позволяет внедрить DLL и получить пароль пользователя во время соединения. В качестве параметра данное приложение принимает PID процесса AzureADConnectAuthenticationAgentService[*].

Azure Active Directory

Сценарий синхронизации паролей

Для нас особенно интересен сценарий синхронизации паролей (PHS). Для синхронизации данных в AD есть приложение Azure AD Connect, которое извлекает данные из AD и передает их в AAD. За синхронизацию отвечает служба DCSync.

Читайте также:  «Сервер RPC недоступен» – причины и способы устранения ошибки

Схема синхронизации AzureAD Connect

При создании соединения на хосте заводится новая база данных, при этом используется LocalDB для SQL Server. Мы можем просмотреть информацию о работающем экземпляре с помощью инструмента

Пример работы

База данных поддерживает Azure AD Sync — в ней хранятся метаданные и конфигурации для службы. Зашифрованный пароль находится в таблице _management_agent в поле encrypted_configuration, и для его расшифровки используется библиотека C:\Program Files\Microsoft Azure AD Sync\Binn\ Расшифровывать можно при помощи

Пример работы скрипта

Azure Active Directory

Как видишь из конфигурации безопасности, если получится скомпрометировать сервер с Azure AD Connect и получить доступ либо к ADSyncAdmins, либо к локальным группам администраторов, то открывается возможность заполучить учетку, которая может выполнять DCSync.

Конфигурации безопасности

Сценарий синхронизации каталога

В этом сценарии к одной и той же учетной записи в AD и AAD применяются разные пароли, что делает неактуальной атаку на сессию синхронизации. Но так как остальные учетные данные в случае синхронизации будут совпадать, мы можем провести разведку для AAD, и ее результаты в большинстве будут актуальны для AD.

Для удобства будем использовать Azure CLI, это инструмент для Linux, который используют в сетях Windows. Начинаем с команды az login — она сгенерирует локальные токены OAuth, откроет окно браузера на странице авторизации, и ты сможешь войти под уже имеющимся пользователем. Следующая команда позволяет получить список пользователей, параметр output определяет формат представления данных, а query — какие данные выводить.

az ad user list —output=json —query='[].{UPN:userPrincipalName,Name:displayName,Email:mail,UserId:mailNickname,Enabled:accountEnabled}’

Вот некоторые другие возможности.

Azure Active Directory

Список групп:

az ad group list —output=json —query='[].{Group:displayName,Description:description}’

Список пользователей в определенной группе:

az ad group member list —output=json —query='[].{UPN:userPrincipalName, Name:displayName, UserId:mailNickname, Enabled:accountEnabled}’ —group='<group name>’

Читайте также:  Какой поставить антивирус на Windows 10?

Список приложений:

az ad app list —output=json —query='[].{Name:displayName,URL:homepage}’

Все службы:

Azure Active Directory

az ad sp list —output=json —query='[].{Name:displayName,Enabled:accountEnabled,URL:homepage}’

Информация о конкретной службе:

az ad sp list —output=json —display-name='<display name>’