Az - Cloud Kerberos Trust
この投稿は 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$
という名前です。また、2次のkrbtgt
アカウントはkrbtgt_AzureAD
という名前です。このアカウントには、Azure ADが作成するチケットに使用されるKerberosキーが含まれています。
したがって、このアカウントが侵害されると、任意のユーザーをなりすますことが可能になります... ただし、このアカウントはドメイン管理者、エンタープライズ管理者、管理者などの一般的な特権を持つADグループのためのチケットを作成することができないようになっています...
ただし、実際のシナリオでは、これらのグループに属さない特権ユーザーが存在する可能性があります。そのため、新しいkrbtgtアカウントが侵害された場合、それを使用して彼らをなりすますことができます。
Kerberos TGT
さらに、ハイブリッドアイデンティティを使用してWindowsでユーザーが認証すると、Azure ADは部分的なKerberosチケットとPRTを発行します。TGTは部分的であり、AzureADはオンプレミスADのユーザーに関する情報が制限されているためです(セキュリティ識別子(SID)や名前など)。 Windowsは、krbtgt
サービスのためのサービスチケットを要求することで、この部分的なTGTを完全なTGTに交換できます。
NTLM
kerberos認証をサポートしていないサービスがあるため、PADATAの**KERB-KEY-LIST-REQ
フィールドを含む2次krbtgt
キーで署名された部分的なTGTを要求し、応答でNTハッシュを含む主要なkrbtgt
キーで署名された完全なTGT**を取得することが可能です。
クラウドKerberosトラストの悪用によるドメイン管理者の取得
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テナントはオンプレミスのセキュリティ識別子を複製していない必要があり、同期されていないアカウントを変更してチケットを取得する必要があります。
さらに、このアカウントはドメイン管理者と同等の特権を持っている必要がありますが、一般的なAD管理者グループのメンバーではない必要があります。これにより、AzureAD RODCによる無効なTGTの生成が回避されます。
最適なターゲットは、AD Connect Syncサービスで使用されるActive Directoryアカウントです。このアカウントはAzure ADと同期されていないため、そのSIDが攻撃対象となり、パスワードハッシュの同期に関与する役割を持つため、そのアカウントは本質的にドメイン管理者と同等の特権を持っています(パスワードハッシュ同期が有効であると仮定)。expressインストールのドメインの場合、このアカウントはMSOL_で始まります。他のインスタンスの場合、ドメインオブジェクトにディレクトリレプリケーション特権を持つすべてのアカウントを列挙することで、アカウントを特定できます。
完全な攻撃
元の投稿で確認してください:https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/
最終更新