GWS - Admin Directory Sync

Support HackTricks

基本情報

GCDSを使用してユーザーを同期するこの方法の主な違いは、GCDSは手動でダウンロードして実行する必要があるバイナリを使用するのに対し、Admin Directory Syncはサーバーレスで、Googleによって管理されていることです。https://admin.google.com/ac/sync/externaldirectoriesで利用可能です。

この執筆時点で、このサービスはベータ版であり、2種類の同期をサポートしています:Active DirectoryからとAzure Entra IDから:

  • Active Directory: これを設定するには、GoogleにあなたのActive Directory環境へのアクセスを許可する必要があります。GoogleはGCPネットワーク(VPCコネクタ経由)にのみアクセスできるため、コネクタを作成し、そのコネクタからADを利用可能にする必要があります。GCPネットワーク内のVMに配置するか、Cloud VPNまたはCloud Interconnectを使用します。その後、ディレクトリに対する読み取りアクセス権を持つアカウントの資格情報と、LDAPS経由で連絡するための証明書を提供する必要があります。

  • Azure Entra ID: これを構成するには、ポップアップで表示されるGoogleの指示に従って、読み取りアクセス権を持つユーザーでAzureにログインするだけです。GoogleはEntra IDに対する読み取りアクセス権を持つトークンを保持します。

正しく構成されると、両方のオプションはWorkspaceにユーザーとグループを同期することを可能にしますが、WorkspaceからADまたはEntraIDにユーザーとグループを構成することはできません。

この同期中に許可される他のオプションは次のとおりです:

  • 新しいユーザーにログインするためのメールを送信

  • 彼らのメールアドレスをWorkspaceで使用されているものに自動的に変更します。したがって、Workspaceが@hacktricks.xyzを使用し、EntraIDユーザーが@carloshacktricks.onmicrosoft.comを使用している場合、@hacktricks.xyzがアカウント内で作成されたユーザーに使用されます。

  • 同期されるユーザーを含むグループを選択します。

  • Workspaceで同期および作成するグループを選択する(またはすべてのグループを同期するように指示する)。

AD/EntraID -> Google Workspace (& GCP)

ADまたはEntraIDを侵害することができれば、Google Workspaceと同期されるユーザーとグループを完全に制御できます。 ただし、Workspaceでユーザーが使用しているパスワード同じである可能性もあれば、そうでない可能性もあります

ユーザーへの攻撃

同期が行われると、ADからすべてのユーザーを同期するか、特定のOUからのユーザーのみを同期するか、またはEntraIDの特定のグループのメンバーのみを同期する可能性があります。これは、同期されたユーザーを攻撃するためには(または新しいユーザーを作成して同期させるためには)、まずどのユーザーが同期されているかを特定する必要があることを意味します。

  • ユーザーはADまたはEntraIDからパスワードを再利用している可能性がありますが、これはユーザーのパスワードを侵害してログインする必要があることを意味します

  • ユーザーのメールにアクセスできる場合、既存のユーザーのWorkspaceパスワードを変更するか、新しいユーザーを作成し、それが同期されるのを待ってアカウントを設定することができます。

Workspace内のユーザーにアクセスすると、デフォルトでいくつかの権限が付与される可能性があります。

グループへの攻撃

最初にどのグループが同期されているかを特定する必要があります。すべてのグループが同期されている可能性があります(Workspaceはこれを許可しています)。

グループとメンバーシップがWorkspaceにインポートされても、ユーザー同期で同期されていないユーザーは、グループ同期中に作成されません。たとえ彼らが同期されたグループのメンバーであってもです。

AzureからのどのグループがWorkspaceまたはGCPで権限を割り当てられているかを知っていれば、侵害されたユーザー(または新しく作成されたユーザー)をそのグループに追加し、その権限を取得することができます。

Workspace内の既存の特権グループを悪用する別のオプションがあります。たとえば、グループgcp-organization-admins@<workspace.email>は通常、GCPに対して高い権限を持っています。

たとえば、EntraIDからWorkspaceへの同期がインポートされたオブジェクトのドメインをWorkspaceのメールに置き換えるように構成されている場合、攻撃者はEntraIDにgcp-organization-admins@<entraid.email>というグループを作成し、そのグループにユーザーを追加し、すべてのグループの同期が行われるのを待つことができます。 ユーザーはグループgcp-organization-admins@<workspace.email>に追加され、GCPでの権限が昇格します。

Google Workspace -> AD/EntraID

Workspaceは、ユーザーとグループを同期するためにADまたはEntraIDに対する読み取り専用アクセス権を持つ資格情報を必要とします。したがって、Google Workspaceを悪用してADまたはEntraIDに変更を加えることはできません。したがって、現時点ではこれは不可能です

また、GoogleがADの資格情報やEntraIDトークンをどこに保存しているかはわからず、同期を再構成してもそれらを回復することはできません(ウェブフォームには表示されず、再度提供する必要があります)。ただし、ウェブからは現在の機能を悪用してユーザーとグループをリストすることが可能かもしれません。

Support HackTricks

Last updated