Az - Cloud Kerberos Trust

Support HackTricks

この投稿は https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/ の要約であり、攻撃に関するさらなる情報を確認できます。この技術については https://www.youtube.com/watch?v=AFay_58QubYでもコメントされています。

基本情報

信頼関係

Azure ADとの信頼関係が確立されると、ADに読み取り専用ドメインコントローラー(RODC)が作成されます。 RODCコンピュータアカウントは**AzureADKerberos$という名前です。また、krbtgt_AzureADという名前の二次krbtgtアカウントも作成されます。このアカウントには、Azure ADが作成するチケットに使用されるKerberosキー**が含まれています。

したがって、このアカウントが侵害されると、任意のユーザーを偽装することが可能になるかもしれません... ただし、このアカウントはドメイン管理者、エンタープライズ管理者、管理者などの一般的な特権ADグループのためのチケットを作成することはできないため、これは真実ではありません。

ただし、実際のシナリオでは、これらのグループに属さない特権ユーザーが存在することになります。したがって、新しいkrbtgtアカウントが侵害された場合、それを使用して彼らを偽装することができる可能性があります。

Kerberos TGT

さらに、ユーザーがハイブリッドアイデンティティを使用してWindowsで認証すると、Azure ADはPRTと共に部分的なKerberosチケットを発行します。 TGTは部分的であるため、AzureADはオンプレミスADのユーザーに関する情報が限られています(セキュリティ識別子(SID)や名前など)。 Windowsは次に、krbtgtサービスのためのサービスチケットを要求することで、この部分的なTGTを完全なTGTに交換することができます

NTLM

Kerberos認証をサポートしないサービスがある可能性があるため、二次krbtgtキーを使用して署名された部分的TGTを要求することが可能です。これは、リクエストのPADATA部分に**KERB-KEY-LIST-REQ**フィールドを含めることで行われ、その後、プライマリkrbtgtキーで署名された完全なTGTを取得します

Cloud Kerberos Trustを悪用してドメイン管理者を取得する

AzureADが部分的TGTを生成するとき、それはユーザーに関する詳細を使用します。したがって、グローバル管理者がAzureAD内のユーザーのセキュリティ識別子と名前のデータを変更できる場合、そのユーザーのTGTを要求すると、セキュリティ識別子は異なるものになります

Microsoft GraphやAzure AD Graphを通じてそれを行うことはできませんが、API Active Directory Connectが同期ユーザーを作成および更新するために使用するものを利用することが可能です。これにより、グローバル管理者は任意のハイブリッドユーザーのSAM名とSIDを変更することができ、その後認証を行うと、変更されたSIDを含む部分的TGTを取得します。

AADInternalsを使用して、Set-AADIntAzureADObjectコマンドレットを介して同期ユーザーを更新することができることに注意してください。

攻撃の前提条件

攻撃の成功とドメイン管理者権限の取得は、特定の前提条件を満たすことに依存しています:

  • 同期APIを介してアカウントを変更する能力が重要です。これは、グローバル管理者の役割を持つか、AD Connect同期アカウントを持つことで達成できます。あるいは、ハイブリッドアイデンティティ管理者の役割でも十分であり、これによりAD Connectを管理し、新しい同期アカウントを作成する能力が与えられます。

  • ハイブリッドアカウントの存在が不可欠です。このアカウントは、被害者アカウントの詳細で変更可能であり、認証のためにアクセス可能である必要があります。

  • Active Directory内のターゲット被害者アカウントを特定する必要があります。攻撃はすでに同期された任意のアカウントに対して実行できますが、Azure ADテナントはオンプレミスのセキュリティ識別子を複製していない必要があり、チケットを取得するために未同期アカウントを変更する必要があります。

  • さらに、このアカウントはドメイン管理者に相当する権限を持っている必要がありますが、AzureAD RODCによって無効なTGTが生成されないように、一般的なAD管理者グループのメンバーであってはなりません。

  • 最も適切なターゲットは、AD Connect Syncサービスによって使用されるActive Directoryアカウントです。このアカウントはAzure ADと同期されておらず、そのSIDは有効なターゲットとなり、パスワードハッシュを同期する役割のためにドメイン管理者に相当する権限を本質的に持っています(パスワードハッシュ同期が有効であると仮定)。エクスプレスインストールのドメインでは、このアカウントはMSOL_で始まります。他のインスタンスでは、ドメインオブジェクト上のディレクトリ複製権限を持つすべてのアカウントを列挙することでアカウントを特定できます。

完全な攻撃

元の投稿で確認してください: https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/

Support HackTricks

Last updated