GCP - Cloud Run Enum

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Cloud Run

Cloud Run - це платформа керованого обчислення без сервера, яка дозволяє запускати контейнери безпосередньо на масштабованій інфраструктурі Google.

Ви можете запускати свій контейнер або, якщо ви використовуєте Go, Node.js, Python, Java, .NET Core або Ruby, ви можете використовувати опцію розгортання на основі вихідного коду, яка створює контейнер за вас.

Google створив Cloud Run, щоб працювати добре разом з іншими службами на Google Cloud, тому ви можете створювати повнофункціональні додатки.

Служби та завдання

На Cloud Run ваш код може працювати або безперервно як служба, або як завдання. Як служби, так і завдання працюють в одному середовищі і можуть використовувати ті ж інтеграції з іншими службами на Google Cloud.

  • Служби Cloud Run. Використовуються для виконання коду, який реагує на веб-запити або події.

  • Завдання Cloud Run. Використовуються для виконання коду, який виконує роботу (завдання) і завершується, коли робота виконана.

Служба Cloud Run

Google Cloud Run - це ще один пропозиція без сервера, де ви можете шукати змінні середовища. Cloud Run створює невеликий веб-сервер, який працює на порту 8080 в контейнері за замовчуванням, який чекає на HTTP GET-запит. Коли отримано запит, виконується завдання, а журнал завдання виводиться через відповідь HTTP.

Відповідні деталі

  • За замовчуванням, доступ до веб-сервера є публічним, але його також можна обмежити для внутрішнього трафіку (VPC...) Крім того, аутентифікація для звернення до веб-сервера може бути дозволена всім або вимагати аутентифікацію через IAM.

  • За замовчуванням шифрування використовує керований Google ключ, але можна також вибрати CMEK (Ключ шифрування, керований клієнтом) з KMS.

  • За замовчуванням використовується обліковий запис служби - це обліковий запис Compute Engine за замовчуванням, який має доступ Редактора до проекту і має область cloud-platform.

  • Можливо визначити змінні середовища у вигляді чіткого тексту для виконання, а також підключати секрети хмари або додавати секрети хмари до змінних середовища.

  • Також можливо встановлювати з'єднання з Cloud SQL і підключати файлову систему.

  • URL-адреси розгорнутих служб подібні до https://<svc-name>-<random>.a.run.app

  • У служби Run може бути більше 1 версії або ревізія, і розподіляти трафік між кількома ревізіями.

Енумерація

# List services
gcloud run services list
gcloud run services list --platform=managed
gcloud run services list --platform=gke

# Get info of a service
gcloud run services describe --region <region> <svc-name>

# Get info of all the services together
gcloud run services list --format=yaml
gcloud run services list --platform=managed --format=json
gcloud run services list --platform=gke --format=json

# Get policy
gcloud run services get-iam-policy --region <region> <svc-name>

# Get revisions
gcloud run revisions list --region <region>
gcloud run revisions describe --region <region> <revision>

# Get domains
gcloud run domain-mappings list
gcloud run domain-mappings describe <name>

# Attempt to trigger a job unauthenticated
curl <url>

# Attempt to trigger a job with your current gcloud authorization
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" <url>

Завдання Cloud Run

Завдання Cloud Run краще підходять для контейнерів, які виконуються до завершення і не обслуговують запити. Завдання не мають можливості обслуговувати запити або слухати порт. Це означає, що, на відміну від служб Cloud Run, завдання не повинні включати в себе веб-сервер. Замість цього контейнери завдань повинні завершувати роботу після завершення.

Енумерація

gcloud beta run jobs list
gcloud beta run jobs describe --region <region> <job-name>
gcloud beta run jobs get-iam-policy --region <region> <job-name>

Підвищення привілеїв

На наступній сторінці ви можете перевірити, як зловживати дозволами cloud run для підвищення привілеїв:

pageGCP - Run Privesc

Неаутентифікований доступ

pageGCP - Cloud Run Unauthenticated Enum

Післяексплуатаційна діяльність

pageGCP - Cloud Run Post Exploitation

Постійність

pageGCP - Cloud Run Persistence

Посилання

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated