GCP - Cloud Scheduler Enum

Support HackTricks

Basic Information

Google Cloud Scheduler — це повністю керована cron job service, яка дозволяє вам виконувати довільні завдання — такі як пакетні, великі дані, операції з хмарною інфраструктурою — у фіксовані часи, дати або інтервали. Вона інтегрована з сервісами Google Cloud, надаючи спосіб автоматизувати різні завдання, такі як оновлення або пакетна обробка за регулярним графіком.

Хоча з точки зору атаки це звучить чудово, насправді це не так цікаво, оскільки сервіс просто дозволяє планувати певні прості дії в певний час, а не виконувати довільний код.

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

  • HTTP: Надіслати HTTP запит, визначаючи заголовки та тіло запиту.

  • Pub/Sub: Надіслати повідомлення в конкретну тему.

  • App Engine HTTP: Надіслати HTTP запит до програми, створеної в App Engine.

  • Workflows: Викликати GCP Workflow.

Service Accounts

Обліковий запис служби не завжди потрібен кожному планувальнику. Типи Pub/Sub та App Engine HTTP не вимагають жодного облікового запису служби. Workflow вимагає обліковий запис служби, але він просто викликатиме робочий процес. Нарешті, звичайний тип HTTP не вимагає облікового запису служби, але можливо вказати, що певний вид автентифікації потрібен для робочого процесу, і додати або OAuth токен, або OIDC токен до надісланого HTTP запиту.

Отже, можливо вкрасти OIDC токен і зловживати OAuth токеном з облікових записів служби зловживаючи HTTP типом. Більше про це на сторінці підвищення привілеїв.

Зверніть увагу, що можливо обмежити область надісланого OAuth токена, однак за замовчуванням вона буде cloud-platform.

Enumeration

# Get schedulers in a location
gcloud scheduler jobs list --location us-central1

# Get information of an specific scheduler
gcloud scheduler jobs describe --location us-central1 <scheduler-name>

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

GCP - Cloud Scheduler Privesc
Підтримайте HackTricks

Last updated