Az - Seamless SSO
Basic Information
From the docs: Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO) автоматично авторизує користувачів, коли вони на своїх корпоративних пристроях, підключених до вашої корпоративної мережі. Коли ця функція увімкнена, користувачам не потрібно вводити свої паролі для входу в Azure AD, і зазвичай навіть вводити свої імена користувачів. Ця функція забезпечує вашим користувачам легкий доступ до ваших хмарних додатків без необхідності в додаткових компонентів на місці.
В основному Azure AD Seamless SSO авторизує користувачів, коли вони на ПК, приєднаному до локального домену.
Цю функцію підтримують як PHS (Password Hash Sync), так і PTA (Pass-through Authentication).
Desktop SSO використовує Kerberos для аутентифікації. Коли налаштовано, Azure AD Connect створює обліковий запис комп'ютера під назвою AZUREADSSOACC$
в локальному AD. Пароль облікового запису AZUREADSSOACC$
надсилається у відкритому тексті до Azure AD під час налаштування.
Квитки Kerberos шифруються за допомогою NTHash (MD4) пароля, а Azure AD використовує надісланий пароль для розшифровки квитків.
Azure AD надає кінцеву точку (https://autologon.microsoftazuread-sso.com), яка приймає квитки Kerberos. Браузер комп'ютера, приєднаного до домену, пересилає квитки на цю кінцеву точку для SSO.
On-prem -> cloud
Пароль користувача AZUREADSSOACC$
ніколи не змінюється. Тому адміністратор домену може скомпрометувати хеш цього облікового запису, а потім використовувати його для створення срібних квитків для підключення до Azure з будь-яким синхронізованим локальним користувачем:
З хешем ви тепер можете генерувати срібні квитки:
Щоб використати срібний квиток, слід виконати наступні кроки:
Запустіть браузер: Потрібно запустити Mozilla Firefox.
Налаштуйте браузер:
Перейдіть до
about:config
.Встановіть параметр для network.negotiate-auth.trusted-uris на вказані значення:
https://aadg.windows.net.nsatc.net
https://autologon.microsoftazuread-sso.com
Доступ до веб-додатку:
Відвідайте веб-додаток, інтегрований з доменом AAD організації. Загальним прикладом є Office 365.
Процес аутентифікації:
На екрані входу введіть ім'я користувача, залишивши поле пароля порожнім.
Щоб продовжити, натисніть TAB або ENTER.
Це не обходить MFA, якщо вона увімкнена
Варіант 2 без dcsync - SeamlessPass
Також можливо виконати цю атаку без атаки dcsync, щоб бути більш непомітним, як пояснено в цьому блозі. Для цього вам потрібно лише одне з наступного:
Золотий квиток: Якщо у вас є ключ KRBTGT, ви можете створити TGT, який вам потрібен для атакованого користувача.
NTLM хеш або AES ключ скомпрометованого користувача: SeamlessPass зв'яжеться з контролером домену з цією інформацією, щоб згенерувати TGT.
NTLM хеш або AES ключ облікового запису AZUREADSSOACC$: З цією інформацією та Ідентифікатором безпеки (SID) користувача, якого потрібно атакувати, можливо створити сервісний квиток і аутентифікуватися в хмарі (як виконано в попередньому методі).
Нарешті, з TGT можливо використовувати інструмент SeamlessPass з:
Додаткову інформацію про налаштування Firefox для роботи з безшовним SSO можна знайти в цьому блозі.
Створення квитків Kerberos для користувачів тільки в хмарі
Якщо адміністратори Active Directory мають доступ до Azure AD Connect, вони можуть встановити SID для будь-якого користувача в хмарі. Таким чином, квитки Kerberos можна створити також для користувачів тільки в хмарі. Єдина вимога полягає в тому, що SID є правильним SID.
Зміна SID для адміністраторів тільки в хмарі тепер блокована Microsoft. Для отримання інформації перевірте https://aadinternals.com/post/on-prem_admin/
On-prem -> Хмара через обмежену делегацію на основі ресурсів
Будь-хто, хто може керувати обліковими записами комп'ютерів (AZUREADSSOACC$
) у контейнері або OU, в якому знаходиться цей обліковий запис, може налаштувати обмежену делегацію на основі ресурсів для облікового запису та отримати до нього доступ.
References
Last updated