GWS - Admin Directory Sync
Reading time: 9 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
基本情報
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によって、Entra IDサブスクリプションに対する読み取りアクセス権を持つユーザーで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はこれを許可しています)。
note
グループとメンバーシップが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に対する読み取り専用アクセス権を持つ資格情報を必要とします。したがって、ADまたはEntraIDに変更を加えるためにGoogle Workspaceを悪用することはできません。したがって、現時点ではこれは不可能です。
また、GoogleがADの資格情報やEntraIDトークンをどこに保存しているかはわからず、同期を再構成してもそれらを回復することはできません(ウェブフォームには表示されず、再度提供する必要があります)。ただし、ウェブからは現在の機能を悪用してユーザーとグループをリストすることが可能かもしれません。
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。