GCP - Containers & GKE Enum
Last updated
Last updated
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
У контейнерах GCP ви можете знайти більшість контейнерних сервісів, які пропонує GCP, тут ви можете побачити, як перерахувати найбільш поширені з них:
На наступній сторінці ви можете перевірити, як зловживати дозволами контейнера для ескалації привілеїв:
GCP - Container PrivescЦе пул машин (вузлів), які формують кластери kubernetes.
Для отримання інформації про те, що таке Kubernetes, перегляньте цю сторінку:
Kubernetes PentestingСпочатку ви можете перевірити, чи існують у вашому проекті будь-які кластери Kubernetes.
Якщо у вас є кластер, ви можете налаштувати gcloud
для автоматичної конфігурації вашого ~/.kube/config
файлу. Цей файл використовується для аутентифікації, коли ви використовуєте kubectl, рідний CLI для взаємодії з K8s кластерами. Спробуйте цю команду.
Тоді перегляньте файл ~/.kube/config
, щоб побачити згенеровані облікові дані. Цей файл буде використовуватися для автоматичного оновлення токенів доступу на основі тієї ж ідентичності, яку використовує ваша активна сесія gcloud
. Це, звичайно, вимагає наявності правильних дозволів.
Коли це буде налаштовано, ви можете спробувати наступну команду, щоб отримати конфігурацію кластера.
Ви можете дізнатися більше про gcloud
для контейнерів тут.
Це простий скрипт для перерахунку kubernetes у GCP: https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_k8s_enum
Спочатку ця техніка підвищення привілеїв дозволяла привести до підвищення привілеїв всередині кластера GKE, що ефективно дозволяло зловмиснику повністю його скомпрометувати.
Це пов'язано з тим, що GKE надає TLS Bootstrap облікові дані у метаданих, які доступні будь-кому, просто скомпрометувавши под.
Використана техніка пояснюється в наступних постах:
І цей інструмент був створений для автоматизації процесу: https://github.com/4ARMED/kubeletmein
Однак техніка зловживала тим фактом, що з обліковими даними метаданих було можливим згенерувати CSR (Запит на підписання сертифіката) для нового вузла, який був автоматично схвалений. У моєму тесті я перевірив, що ці запити більше не схвалюються автоматично, тому я не впевнений, чи ця техніка все ще дійсна.
У цьому пості було виявлено адресу Kubelet API, доступну зсередини пода в GKE, що надає деталі про запущені поди:
Навіть якщо API не дозволяє змінювати ресурси, можливо, що можна знайти чутливу інформацію у відповіді. Точка доступу /pods була знайдена за допомогою Kiterunner.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)