diff --git a/src/pentesting-cloud/workspace-security/gws-workspace-sync-attacks-gcpw-gcds-gps-directory-sync-with-ad-and-entraid/gws-admin-directory-sync.md b/src/pentesting-cloud/workspace-security/gws-workspace-sync-attacks-gcpw-gcds-gps-directory-sync-with-ad-and-entraid/gws-admin-directory-sync.md index f55fbd41c..446522473 100644 --- a/src/pentesting-cloud/workspace-security/gws-workspace-sync-attacks-gcpw-gcds-gps-directory-sync-with-ad-and-entraid/gws-admin-directory-sync.md +++ b/src/pentesting-cloud/workspace-security/gws-workspace-sync-attacks-gcpw-gcds-gps-directory-sync-with-ad-and-entraid/gws-admin-directory-sync.md @@ -4,54 +4,54 @@ ## 기본 정보 -GCDS와 사용자를 동기화하는 이 방법의 주요 차이점은 GCDS가 다운로드하여 실행해야 하는 일부 바이너리로 수동으로 수행되는 반면, **Admin Directory Sync는 서버리스**로 Google에서 관리된다는 것입니다. [https://admin.google.com/ac/sync/externaldirectories](https://admin.google.com/ac/sync/externaldirectories)에서 확인할 수 있습니다. +GCDS와 사용자를 동기화하는 이 방법의 주요 차이점은 GCDS가 다운로드하고 실행해야 하는 일부 바이너리로 수동으로 수행되는 반면, **Admin Directory Sync는 서버리스**로 Google에서 관리된다는 것입니다 [https://admin.google.com/ac/sync/externaldirectories](https://admin.google.com/ac/sync/externaldirectories). -이 글을 작성하는 시점에서 이 서비스는 베타 상태이며 두 가지 유형의 동기화를 지원합니다: **Active Directory**와 **Azure Entra ID**에서: +이 글을 작성하는 시점에서 이 서비스는 베타 상태이며 2가지 유형의 동기화를 지원합니다: **Active Directory**와 **Azure Entra ID**에서: -- **Active Directory:** 이를 설정하려면 **Google에 Active Directory 환경에 대한 액세스 권한을 부여해야** 합니다. Google은 GCP 네트워크( **VPC 커넥터**를 통해)만 액세스할 수 있으므로 커넥터를 생성한 후 GCP 네트워크의 VM에 있거나 Cloud VPN 또는 Cloud Interconnect를 사용하여 해당 커넥터에서 AD를 사용할 수 있도록 해야 합니다. 그런 다음 **디렉토리에 대한 읽기 액세스 권한이 있는 계정의 자격 증명**과 **LDAPS**를 통해 연락하기 위한 **인증서**를 제공해야 합니다. -- **Azure Entra ID:** 이를 구성하려면 **읽기 액세스 권한이 있는 사용자로 Azure에 로그인**하기만 하면 됩니다. Google이 표시하는 팝업에서 Entra ID 구독에 대한 액세스 권한을 유지합니다. +- **Active Directory:** 이를 설정하려면 **Google에 Active Directory 환경에 대한 액세스 권한을 부여해야** 합니다. Google은 GCP 네트워크에만 액세스할 수 있으므로(**VPC 커넥터**를 통해) 커넥터를 생성한 다음 GCP 네트워크의 VM에 있거나 Cloud VPN 또는 Cloud Interconnect를 사용하여 해당 커넥터에서 AD를 사용할 수 있도록 해야 합니다. 그런 다음, 디렉토리에 대한 읽기 액세스 권한이 있는 계정의 **자격 증명**과 **LDAPS**를 통해 연락하기 위한 **인증서**를 제공해야 합니다. +- **Azure Entra ID:** 이를 구성하려면 **읽기 액세스 권한이 있는 사용자로 Azure에 로그인**하기만 하면 되며, Google이 Entra ID 구독에 대한 읽기 액세스 권한이 있는 토큰을 유지합니다. -올바르게 구성되면 두 옵션 모두 **사용자 및 그룹을 Workspace에 동기화**할 수 있지만, Workspace에서 AD 또는 EntraID로 사용자 및 그룹을 구성할 수는 없습니다. +올바르게 구성되면 두 옵션 모두 **사용자 및 그룹을 Workspace와 동기화**할 수 있지만, Workspace에서 AD 또는 EntraID로 사용자 및 그룹을 구성할 수는 없습니다. 이 동기화 중에 허용되는 다른 옵션은 다음과 같습니다: - 새 사용자에게 로그인하라는 이메일 전송 -- 이메일 주소를 Workspace에서 사용하는 주소로 자동 변경. 따라서 Workspace가 `@hacktricks.xyz`를 사용하고 EntraID 사용자가 `@carloshacktricks.onmicrosoft.com`을 사용하는 경우, `@hacktricks.xyz`가 계정에 생성된 사용자에게 사용됩니다. +- Workspace에서 사용하는 이메일 주소로 자동으로 변경. 따라서 Workspace가 `@hacktricks.xyz`를 사용하고 EntraID 사용자가 `@carloshacktricks.onmicrosoft.com`을 사용하는 경우, `@hacktricks.xyz`가 계정에 생성된 사용자에게 사용됩니다. - 동기화할 **사용자가 포함된 그룹 선택**. - Workspace에서 동기화하고 생성할 **그룹 선택**(또는 모든 그룹을 동기화하도록 지정). ### AD/EntraID -> Google Workspace (& GCP) -AD 또는 EntraID를 손상시키면 Google Workspace와 동기화될 사용자 및 그룹에 대한 완전한 제어를 갖게 됩니다.\ -그러나 사용자가 Workspace에서 사용할 수 있는 **비밀번호**는 **같을 수도 있고 다를 수도 있습니다**. +AD 또는 EntraID를 손상시키면 Google Workspace와 동기화될 사용자 및 그룹에 대한 전체 제어를 갖게 됩니다.\ +그러나 사용자가 Workspace에서 사용할 수 있는 **비밀번호**는 **같을 수도 있고 아닐 수도** 있습니다. #### 사용자 공격 동기화가 발생하면 **AD의 모든 사용자 또는 특정 OU의 사용자만 동기화**되거나 **EntraID의 특정 그룹의 사용자만 동기화**될 수 있습니다. 이는 동기화된 사용자(또는 동기화되는 새 사용자)를 공격하려면 먼저 어떤 사용자가 동기화되고 있는지 파악해야 함을 의미합니다. -- 사용자는 **AD 또는 EntraID에서 비밀번호를 재사용할 수도 있고 아닐 수도 있지만**, 이는 **로그인하기 위해 사용자의 비밀번호를 손상시켜야 함을 의미합니다**. -- 사용자의 **메일**에 접근할 수 있다면, **기존 사용자의 Workspace 비밀번호를 변경**하거나 **새 사용자를 생성**하고, 동기화될 때까지 기다려 계정을 설정할 수 있습니다. +- 사용자는 **AD 또는 EntraID에서 비밀번호를 재사용할 수도 있고 아닐 수도** 있지만, 이는 **로그인하기 위해 사용자의 비밀번호를 손상시켜야 함을 의미**합니다. +- 사용자의 **메일**에 액세스할 수 있다면, **기존 사용자의 Workspace 비밀번호를 변경**하거나 **새 사용자를 생성**하고, 동기화될 때까지 기다려 계정을 설정할 수 있습니다. -Workspace 내에서 사용자에 접근하면 기본적으로 **일부 권한이 부여될 수 있습니다**. +Workspace 내에서 사용자에 접근하면 기본적으로 일부 **권한이 부여될 수 있습니다**. #### 그룹 공격 어떤 그룹이 동기화되고 있는지 먼저 파악해야 합니다. **모든** 그룹이 동기화될 가능성이 있지만(Workspace가 이를 허용하므로). > [!NOTE] -> 그룹과 멤버십이 Workspace에 가져와지더라도, **사용자 동기화에서 동기화되지 않은 사용자는 그룹 동기화 중에 생성되지 않습니다**. 동기화된 그룹의 멤버일지라도 마찬가지입니다. +> 그룹 및 구성원이 Workspace로 가져와지더라도, **사용자 동기화에서 동기화되지 않은 사용자는 그룹 동기화 중에 생성되지 않습니다**. 비록 그들이 동기화된 그룹의 구성원일지라도. -Azure에서 어떤 그룹이 **Workspace 또는 GCP에서 권한이 할당되었는지** 알고 있다면, 손상된 사용자(또는 새로 생성된 사용자)를 해당 그룹에 추가하여 그 권한을 얻을 수 있습니다. +Azure에서 어떤 그룹이 **Workspace 또는 GCP에서 권한이 할당**되고 있는지 알면, 손상된 사용자(또는 새로 생성된 사용자)를 해당 그룹에 추가하고 그 권한을 얻을 수 있습니다. Workspace에서 기존의 특권 그룹을 악용할 수 있는 또 다른 옵션이 있습니다. 예를 들어, 그룹 `gcp-organization-admins@`는 일반적으로 GCP에 대한 높은 권한을 가지고 있습니다. -예를 들어 EntraID에서 Workspace로의 동기화가 **가져온 객체의 도메인을 Workspace의 이메일로 대체하도록 구성된 경우**, 공격자가 EntraID에서 `gcp-organization-admins@` 그룹을 생성하고 이 그룹에 사용자를 추가한 후 모든 그룹의 동기화가 발생할 때까지 기다릴 수 있습니다.\ +예를 들어 EntraID에서 Workspace로의 동기화가 **가져온 객체의 도메인을 Workspace의 이메일로 대체하도록 구성된 경우**, 공격자가 EntraID에서 `gcp-organization-admins@` 그룹을 생성하고 이 그룹에 사용자를 추가한 다음 모든 그룹의 동기화가 발생할 때까지 기다릴 수 있습니다.\ **사용자는 `gcp-organization-admins@` 그룹에 추가되어 GCP에서 권한이 상승합니다.** ### Google Workspace -> AD/EntraID Workspace는 사용자 및 그룹을 동기화하기 위해 AD 또는 EntraID에 대한 읽기 전용 액세스 권한이 있는 자격 증명을 요구합니다. 따라서 Google Workspace를 악용하여 AD 또는 EntraID에서 변경을 수행하는 것은 불가능합니다. 따라서 **현재로서는 불가능합니다**. -Google이 AD 자격 증명이나 EntraID 토큰을 어디에 저장하는지 모르겠고, **동기화를 재구성하여 복구할 수 없습니다**(웹 양식에 나타나지 않으며, 다시 제공해야 합니다). 그러나 웹에서 현재 기능을 악용하여 **사용자 및 그룹 목록을 나열할 수 있을지도 모릅니다**. +Google이 AD 자격 증명이나 EntraID 토큰을 어디에 저장하는지 모르며, **동기화를 재구성하여 복구할 수 없습니다**(웹 양식에 나타나지 않으며, 다시 제공해야 합니다). 그러나 웹에서 현재 기능을 악용하여 **사용자 및 그룹 목록을 나열**할 수 있을지도 모릅니다. {{#include ../../../banners/hacktricks-training.md}}