Az - PTA - Pass-through Authentication

Reading time: 4 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Основна інформація

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

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

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

Потік аутентифікації

  1. Щоб увійти, користувач перенаправляється до Azure AD, де він надсилає ім'я користувача та пароль
  2. Облікові дані шифруються і ставляться в чергу в Azure AD
  3. Локальний агент аутентифікації збирає облікові дані з черги і дешифрує їх. Цей агент називається "Агент аутентифікації через проходження" або агент PTA.
  4. Агент перевіряє облікові дані проти локального AD і надсилає відповідь назад до Azure AD, яка, якщо відповідь позитивна, завершує вхід користувача.

warning

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

On-Prem -> cloud

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

bash
Install-AADIntPTASpy

note

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

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

bash
Get-AADIntPTASpyLog -DecodePasswords

Ця бекдор програма буде:

  • Створити приховану папку C:\PTASpy
  • Скопіювати PTASpy.dll до C:\PTASpy
  • Впровадити PTASpy.dll у процес AzureADConnectAuthenticationAgentService

note

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

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

caution

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

Безшовний SSO

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

Az - Seamless SSO

Посилання

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks