Az - PTA - Pass-through Authentication

Support HackTricks

基本情報

From the docs: Azure Active Directory (Azure AD) パススルー認証は、ユーザーがオンプレミスおよびクラウドベースのアプリケーションに同じパスワードを使用してサインインできるようにします。この機能は、ユーザーにとってより良い体験を提供し、覚えるべきパスワードが1つ減るため、ITヘルプデスクのコストを削減します。ユーザーがAzure ADを使用してサインインすると、この機能はオンプレミスのActive Directoryに対して直接ユーザーのパスワードを検証します。

PTAではアイデンティティ同期されますが、パスワードはPHSのように同期されません。

認証はオンプレミスのADで検証され、クラウドとの通信はオンプレミスサーバーで実行される認証エージェントによって行われます(オンプレミスのDC上である必要はありません)。

認証フロー

  1. ログインするために、ユーザーはAzure ADにリダイレクトされ、ユーザー名パスワードを送信します。

  2. 資格情報暗号化され、Azure ADのキューに設定されます。

  3. オンプレミス認証エージェントがキューから資格情報を収集し、復号化します。このエージェントは**「パススルー認証エージェント」またはPTAエージェント**と呼ばれます。

  4. エージェントオンプレミスADに対して資格情報を検証し、応答をAzure ADに返送します。応答が肯定的であれば、ユーザーのログインを完了します。

If an attacker compromises the PTA he can see the all credentials from the queue (in clear-text). He can also validate any credentials to the AzureAD (similar attack to Skeleton key).

オンプレミス -> クラウド

PTA エージェントが実行されているAzure AD Connectサーバー管理者アクセスがある場合、AADInternalsモジュールを使用して、入力されたすべてのパスワードを検証するバックドアを挿入できます(すべてのパスワードが認証に対して有効になります):

Install-AADIntPTASpy

インストールが失敗した場合、これはおそらくMicrosoft Visual C++ 2015 Redistributablesが不足しているためです。

次のcmdletを使用して、前のバックドアがインストールされたマシンでPTAエージェントに送信された平文のパスワードを見ることも可能です:

Get-AADIntPTASpyLog -DecodePasswords

このバックドアは以下を行います:

  • 隠しフォルダー C:\PTASpy を作成します

  • PTASpy.dllC:\PTASpy にコピーします

  • PTASpy.dllAzureADConnectAuthenticationAgentService プロセスに注入します

AzureADConnectAuthenticationAgent サービスが再起動されると、PTASpy は「アンロード」され、再インストールする必要があります。

クラウド -> オンプレ

クラウドで GA 権限 を取得した後、攻撃者が制御するマシン に設定することで 新しい PTA エージェントを登録 することが可能です。エージェントが 設定 されると、以前の 手順を 繰り返して 任意のパスワードを使用して認証 し、さらに パスワードを平文で取得 することができます。

シームレス SSO

PTA とともにシームレス SSO を使用することが可能で、他の悪用に対して脆弱です。詳細は以下を確認してください:

参考文献

HackTricksをサポートする

Last updated