GCP - IAM, Principals & Org Policies Enum
Облікові записи служб
Для вступу в те, що таке обліковий запис служби, перегляньте:
GCP - Basic InformationПерелік
Обліковий запис служби завжди належить до проекту:
Користувачі та Групи
Для вступу в те, як працюють Користувачі та Групи в GCP, перевірте:
GCP - 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
буде видаляти раніше надані дозволи та встановлювати лише ті, які вказані в команді.
Перелік
cloudasset 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 для підвищення привілеїв:
GCP - IAM PrivescНеаутентифікований перелік
GCP - IAM, Principals & Org Unauthenticated EnumПісляексплуатаційна фаза
GCP - IAM Post ExploitationЗбереження
Якщо у вас є високі привілеї, ви можете:
Створювати нові СА (або користувачів, якщо ви у Workspace)
Надавати принципалам, які контролюються вами, більше дозволів
Надавати більше привілеїв вразливим СА (SSRF в vm, вразлива Cloud Function...)
...
Політики організації
Для вступу в те, що таке Політики організації, перевірте:
GCP - Basic InformationПолітики IAM вказують дозволи, які мають принципали для ресурсів через ролі, які надають гранульовані дозволи. Політики організації обмежують, як ці служби можуть бути використані або які функції вимкнені. Це допомагає покращити принцип мінімальних привілеїв для кожного ресурсу в середовищі GCP.
Підвищення привілеїв
На наступній сторінці ви можете перевірити, як зловживати дозволами політики організації для підвищення привілеїв:
GCP - Orgpolicy PrivescLast updated