GWS - Admin Directory Sync
Reading time: 5 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Основна інформація
Головна різниця між цим способом синхронізації користувачів з 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 це дозволяє).
note
Зверніть увагу, що навіть якщо групи та членства імпортуються в 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, і ви не можете відновити їх, переналаштувавши синхронізацію (вони не з'являються у веб-формі, вам потрібно ввести їх знову). Однак з вебу може бути можливим зловживати поточною функціональністю для перегляду користувачів та груп.
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.