GCP - IAM, Principals & Org Policies Enum
Облікові записи служби
Для вступу в те, що таке обліковий запис служби, перегляньте:
pageGCP - Basic InformationПерелік
Обліковий запис служби завжди належить до проекту:
Користувачі та Групи
Для вступу в те, як працюють Користувачі та Групи в GCP, перевірте:
pageGCP - Basic InformationПерелік
З дозволами serviceusage.services.enable
та serviceusage.services.use
можливо увімкнути сервіси в проекті та використовувати їх.
Зверніть увагу, що за замовчуванням користувачам Workspace надається роль Створювач проекту, що дає їм доступ до створення нових проектів. Коли користувач створює проект, йому надається роль owner
над ним. Таким чином, він може увімкнути ці сервіси в проекті, щоб мати можливість переліку Workspace.
Проте, слід звернути увагу, що також потрібно мати достатньо дозволів в Workspace, щоб мати можливість викликати ці API.
Якщо ви можете увімкнути службу admin
і якщо ваш користувач має достатньо привілеїв в Workspace, ви можете перелічити всі групи та користувачів за допомогою наступних рядків.
Навіть якщо воно говорить про групи ідентичності
, воно також повертає користувачів без жодних груп:
У попередніх прикладах параметр --labels
є обов'язковим, тому використовується загальне значення (він не потрібен, якщо ви використовуєте API безпосередньо, як PurplePanda робить тут.
Навіть з увімкненим службою адміністратора можливо, що ви отримаєте помилку при переліку їх через те, що ваш користувач робочого простору, який був компрометований, не має достатньо дозволів:
IAM
Перевірте це для базової інформації про IAM.
Стандартні дозволи
З документації: Коли створюється ресурс організації, всі користувачі вашого домену отримують ролі Створювач облікового запису для розрахунків та Створювач проекту за замовчуванням. Ці стандартні ролі дозволяють вашим користувачам почати використовувати Google Cloud негайно, але не призначені для використання в звичайній роботі з ресурсами вашої організації.
Ці ролі надають дозволи:
billing.accounts.create
таresourcemanager.organizations.get
resourcemanager.organizations.get
таresourcemanager.projects.create
Крім того, коли користувач створює проект, він автоматично отримує власника цього проекту відповідно до документації. Таким чином, за замовчуванням користувач зможе створювати проект та запускати будь-яку службу на ньому (майнери? Перелік робочого простору? ...)
Найвищий рівень привілеїв в організації GCP - це роль Адміністратор організації.
set-iam-policy vs add-iam-policy-binding
У більшості служб ви зможете змінити дозволи для ресурсу за допомогою методу add-iam-policy-binding
або set-iam-policy
. Основна відмінність полягає в тому, що add-iam-policy-binding
додає нове призначення ролі до існуючої політики IAM, тоді як set-iam-policy
буде видаляти раніше надані дозволи та встановлювати лише ті, які вказані в команді.
Перелік
Перелік IAM у хмарних активах
Існують різні способи перевірки всіх дозволів користувача на різних ресурсах (таких як організації, теки, проекти...) за допомогою цієї служби.
Дозвіл
cloudasset.assets.searchAllIamPolicies
може запитувати всі політики iam всередині ресурсу.
Дозвіл
cloudasset.assets.analyzeIamPolicy
може запитати всі політики iam принципала всередині ресурсу.
Дозвіл
cloudasset.assets.searchAllResources
дозволяє перелічувати всі ресурси організації, теки або проекту. Включені ресурси, пов'язані з IAM (наприклад, ролі).
Дозвіл
cloudasset.assets.analyzeMove
може бути корисним для отримання політик, що впливають на ресурс, наприклад, проект.
Я припускаю, що дозвіл
cloudasset.assets.queryIamPolicy
також може надати доступ до пошуку дозволів для принципалів
Перелік дозволів testIamPermissions
Якщо ви не можете отримати доступ до інформації про IAM за допомогою попередніх методів і ви знаходитесь в Команді Червоного, ви можете використовувати інструмент https://github.com/carlospolop/bf_my_gcp_perms для перебору ваших поточних дозволів.
Проте слід зауважити, що служба cloudresourcemanager.googleapis.com
повинна бути увімкнена.
Підвищення привілеїв
На наступній сторінці ви можете перевірити, як зловживати дозволами IAM для підвищення привілеїв:
pageGCP - IAM PrivescНеаутентифікований перелік
pageGCP - IAM, Principals & Org Unauthenticated EnumПісляексплуатаційна фаза
pageGCP - IAM Post ExploitationНаполегливість
Якщо у вас є високі привілеї, ви можете:
Створити нові СА (або користувачів, якщо ви в Workspace)
Надати принципалам, які контролюються вами, більше дозволів
Надати більше привілеїв вразливим СА (SSRF в vm, вразлива Cloud Function...)
...
Політики організації
Для вступу в те, що таке Політики організації, перевірте:
pageGCP - Basic InformationПолітики IAM вказують на дозволи, які мають принципали щодо ресурсів через ролі, які надають гранульовані дозволи. Політики організації обмежують, як ці служби можуть бути використані або які функції вимкнені. Це допомагає покращити принцип мінімальних привілеїв для кожного ресурсу в середовищі GCP.
Підвищення привілеїв
На наступній сторінці ви можете перевірити, як зловживати дозволами політики організації для підвищення привілеїв:
pageGCP - Orgpolicy PrivescLast updated