GCP - Apikeys Privesc

Support HackTricks

Apikeys

Наступні дозволи корисні для створення та викрадення API ключів, не забудьте це з документації: API ключ - це простий зашифрований рядок, який ідентифікує додаток без будь-якого принципала. Вони корисні для доступу до публічних даних анонімно і використовуються для асоціювання API запитів з вашим проектом для квоти та білінгу.

Отже, з API ключем ви можете змусити цю компанію платити за ваше використання API, але ви не зможете підвищити привілеї.

Для отримання додаткової інформації про API ключі перегляньте:

Для інших способів створення API ключів перегляньте:

Brute Force API Key access

Оскільки ви, можливо, не знаєте, які API увімкнені в проекті або які обмеження застосовані до знайденого вами API ключа, було б цікаво запустити інструмент https://github.com/ozguralp/gmapsapiscanner і перевірити до чого ви можете отримати доступ з API ключем.

apikeys.keys.create

Цей дозвіл дозволяє створити API ключ:

gcloud services api-keys create
Operation [operations/akmf.p7-[...]9] complete. Result: {
"@type":"type.googleapis.com/google.api.apikeys.v2.Key",
"createTime":"2022-01-26T12:23:06.281029Z",
"etag":"W/\"HOhA[...]==\"",
"keyString":"AIzaSy[...]oU",
"name":"projects/5[...]6/locations/global/keys/f707[...]e8",
"uid":"f707[...]e8",
"updateTime":"2022-01-26T12:23:06.378442Z"
}

You can find a script to automate the створення, експлуатацію та очищення вразливого середовища тут.

Зверніть увагу, що за замовчуванням користувачі мають дозволи на створення нових проектів і їм надається роль Власника над новим проектом. Тому користувач може cтворити проект і API ключ всередині цього проекту.

apikeys.keys.getKeyString , apikeys.keys.list

Ці дозволи дозволяють переглядати та отримувати всі apiKeys і отримувати Ключ:

for  key  in  $(gcloud services api-keys list --uri); do
gcloud services api-keys get-key-string "$key"
done

Ви можете знайти скрипт для автоматизації створення, експлуатації та очищення вразливого середовища тут.

apikeys.keys.undelete , apikeys.keys.list

Ці дозволи дозволяють вам переглядати та відновлювати видалені ключі API. Ключ API надається у виході після завершення відновлення:

gcloud services api-keys list --show-deleted
gcloud services api-keys undelete <key-uid>

Створення внутрішнього OAuth-додатку для фішингу інших працівників

Перегляньте наступну сторінку, щоб дізнатися, як це зробити, хоча ця дія належить до сервісу clientauthconfig згідно з документацією:

Підтримка HackTricks

Last updated