Az - PHS - Password Hash Sync
Основна інформація
З документації: Синхронізація хешів паролів - один із методів входу, який використовується для досягнення гібридної ідентичності. Azure AD Connect синхронізує хеш, хешу, пароля користувача з локального екземпляра Active Directory до хмарного екземпляра Azure AD.
Це найпоширеніший метод, який використовується компаніями для синхронізації локального AD з Azure AD.
Усі користувачі та хеші хешів паролів синхронізуються з локального до Azure AD. Однак паролі у відкритому вигляді або оригінальні хеші не надсилаються до Azure AD. Більше того, вбудовані групи безпеки (наприклад, адміністратори домену...) не синхронізуються з Azure AD.
Синхронізація хешів відбувається кожні 2 хвилини. Однак за замовчуванням строк дії пароля та строк дії облікового запису не синхронізуються в Azure AD. Таким чином, користувач, чий локальний пароль закінчився (не змінений), може продовжувати отримувати доступ до ресурсів Azure за допомогою старого пароля.
Коли локальний користувач бажає отримати доступ до ресурсу Azure, аутентифікація відбувається в Azure AD.
Для функцій, таких як Захист ідентичності та служби домену AAD, PHS обов'язковий.
Перехід
Коли PHS налаштований, автоматично створюються деякі привілейовані облікові записи:
Обліковий запис
MSOL_<installationID>
автоматично створюється в локальному AD. Цьому обліковому запису надається роль Облікові записи синхронізації каталогу (див. документацію), що означає, що він має дозволи на реплікацію (DCSync) в локальному AD.Обліковий запис
Sync_<name of on-prem ADConnect Server>_installationID
створюється в Azure AD. Цей обліковий запис може скидати пароль будь-якого користувача (синхронізованого або тільки хмарного) в Azure AD.
Паролі двох попередніх привілейованих облікових записів зберігаються в SQL-сервері на сервері, де встановлено Azure AD Connect. Адміністратори можуть витягти паролі цих привілейованих користувачів у відкритому вигляді.
База даних розташована в C:\Program Files\Microsoft Azure AD Sync\Data\ADSync.mdf
.
Можливо витягнути конфігурацію з однієї з таблиць, причому одна з них зашифрована:
SELECT private_configuration_xml, encrypted_configuration FROM mms_management_agent;
Зашифрована конфігурація зашифрована за допомогою DPAPI і містить паролі користувача MSOL_*
в локальному AD та пароль Sync_* в AzureAD. Таким чином, компрометуючи їх, можливо піднятися в привілеї до AD та AzureAD.
Ви можете знайти повний огляд того, як ці облікові дані зберігаються та розшифровуються в цьому виступі.
Пошук сервера Azure AD Connect
Якщо сервер, на якому встановлено Azure AD Connect, приєднаний до домену (рекомендовано в документації), його можна знайти за допомогою:
Зловживання MSOL_*
Ви також можете використовувати adconnectdump, щоб отримати ці облікові дані.
Зловживання Sync_*
Компрометуючи обліковий запис Sync_*
, можливо скинути пароль будь-якого користувача (включаючи глобальних адміністраторів)
Також можливо змінювати паролі лише хмарних користувачів (навіть якщо це несподівано)
Це також можливо витягти пароль цього користувача.
Ще одним варіантом буде надання привілейованих дозволів службовому принципалу, яке користувач Sync має дозвіл виконати, а потім отримати доступ до цього службового принципалу як спосіб підвищення привілеїв.
Плавний SSO
Можливо використовувати Плавний SSO з PHS, що є вразливим для інших зловживань. Перевірте це в:
pageAz - Seamless SSOПосилання
Last updated