Az - PTA - Pass-through Authentication

Support HackTricks

Basic Information

From the docs: Azure Active Directory (Azure AD) Pass-through Authentication дозволяє вашим користувачам увійти в обидва - локальні та хмарні додатки, використовуючи ті ж паролі. Ця функція забезпечує кращий досвід для ваших користувачів - один пароль менше для запам'ятовування, і зменшує витрати на IT-підтримку, оскільки ваші користувачі менш імовірно забудуть, як увійти. Коли користувачі входять за допомогою Azure AD, ця функція перевіряє паролі користувачів безпосередньо проти вашого локального Active Directory.

У PTA ідентичності синхронізуються, але паролі ні як у PHS.

Аутентифікація перевіряється в локальному AD, а зв'язок з хмарою здійснюється через агента аутентифікації, що працює на локальному сервері (не обов'язково на локальному DC).

Authentication flow

  1. Щоб увійти, користувач перенаправляється до Azure AD, де він надсилає ім'я користувача та пароль

  2. Облікові дані шифруються і ставляться в чергу в Azure AD

  3. Локальний агент аутентифікації збирає облікові дані з черги і дешифрує їх. Цей агент називається "Агент аутентифікації через проходження" або агент PTA.

  4. Агент перевіряє облікові дані проти локального AD і надсилає відповідь назад до Azure AD, яка, якщо відповідь позитивна, завершує вхід користувача.

Якщо зловмисник компрометує PTA, він може бачити всі облікові дані з черги (в відкритому тексті). Він також може перевірити будь-які облікові дані до AzureAD (схожий напад на Skeleton key).

On-Prem -> cloud

Якщо у вас є адміністративний доступ до сервера Azure AD Connect з працюючим агентом PTA, ви можете використовувати модуль AADInternals для вставки бекдору, який перевірятиме ВСІ паролі, введені (так що всі паролі будуть дійсними для аутентифікації):

Install-AADIntPTASpy

Якщо встановлення не вдалося, це, ймовірно, через відсутність Microsoft Visual C++ 2015 Redistributables.

Також можливо побачити паролі у відкритому тексті, надіслані агенту PTA, використовуючи наступний cmdlet на машині, де був встановлений попередній бекдор:

Get-AADIntPTASpyLog -DecodePasswords

Ця задня дверцята буде:

  • Створити приховану папку C:\PTASpy

  • Скопіювати PTASpy.dll до C:\PTASpy

  • Впровадити PTASpy.dll у процес AzureADConnectAuthenticationAgentService

Коли служба AzureADConnectAuthenticationAgent перезапускається, PTASpy "вивантажується" і повинен бути повторно встановлений.

Хмара -> На місці

Після отримання GA привілеїв у хмарі, можливо зареєструвати новий PTA агент, налаштувавши його на машині, контрольованій зловмисником. Після налаштування агента, ми можемо повторити попередні кроки для автентифікації за допомогою будь-якого пароля та також отримати паролі у відкритому тексті.

Безшовна SSO

Можливо використовувати безшовну SSO з PTA, яка вразлива до інших зловживань. Перевірте це в:

Посилання

Підтримати HackTricks

Last updated