Files
hacktricks-cloud/pentesting-cloud/gcp-security/gcp-services/gcp-api-keys-enum.md
2024-12-12 19:35:48 +01:00

4.0 KiB

GCP - API Keys Enum

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Basic Information

In Google Cloud Platform (GCP), API keys are a simple encrypted string that identifies an application without any principal. They are used to access Google Cloud APIs that do not require user context. This means they are often used in scenarios where the application is accessing its own data rather than user data.

Restrictions

You can apply restrictions to API keys for enhanced security. For example, you can restrict the key to be used only by certain IP addresses, webs, android apps, iOS apps, or restrict it to certain APIs or services within GCP.

Enumeration

It's possible to see the restriction of an API key (including GCP API endpoints restriction) using the verbs list or describe:

gcloud services api-keys list
gcloud services api-keys describe <key-uuid>
gcloud services api-keys list --show-deleted

{% hint style="info" %} It's possible to recover deleted keys before 30days passes, that's why you can list deleted keys. {% endhint %}

Privilege Escalation & Post Exploitation

{% content-ref url="../gcp-privilege-escalation/gcp-apikeys-privesc.md" %} gcp-apikeys-privesc.md {% endcontent-ref %}

Unauthenticated Enum

{% content-ref url="../gcp-unauthenticated-enum-and-access/gcp-api-keys-unauthenticated-enum.md" %} gcp-api-keys-unauthenticated-enum.md {% endcontent-ref %}

Persistence

{% content-ref url="../gcp-persistence/gcp-api-keys-persistence.md" %} gcp-api-keys-persistence.md {% endcontent-ref %}

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}