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 connectors), вам потрібно створити конектор, а потім зробити ваш AD доступним з цього конектора, розмістивши його на ВМ у мережі GCP або використовуючи Cloud VPN або Cloud Interconnect. Потім вам також потрібно надати облікові дані облікового запису з правами читання на каталог та сертифікат для зв'язку через LDAPS.

  • Azure Entra ID: Щоб налаштувати це, потрібно просто увійти в Azure з користувачем з правами читання на підписку Entra ID у спливаючому вікні, яке показує Google, і 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, зловмисник зможе створити групу gcp-organization-admins@<entraid.email> в EntraID, додати користувача до цієї групи та почекати, поки відбудеться синхронізація всіх груп. Користувач буде доданий до групи gcp-organization-admins@<workspace.email>, що призведе до ескалації привілеїв у GCP.

З Google Workspace -> AD/EntraID

Зверніть увагу, що Workspace вимагає облікові дані з доступом лише для читання до AD або EntraID для синхронізації користувачів та груп. Тому неможливо зловживати Google Workspace для внесення будь-яких змін в AD або EntraID. Отже, це наразі неможливо.

Я також не знаю, де Google зберігає облікові дані AD або токен EntraID, і ви не можете їх відновити, переналаштувавши синхронізацію (вони не з'являються у веб-формі, вам потрібно ввести їх знову). Однак з веб-інтерфейсу може бути можливим зловживання поточною функціональністю для перегляду користувачів та груп.

Support HackTricks

Last updated