# GCP - API Keys Enum

{{#include ../../../banners/hacktricks-training.md}}

## Informazioni di base

In Google Cloud Platform (GCP), le API key sono una semplice stringa crittografata che **identifica un'applicazione senza alcun principa**l. Vengono utilizzate per **accedere alle API di Google Cloud** che non richiedono il contesto dell'utente. Questo significa che sono spesso utilizzate in scenari in cui l'applicazione accede ai propri dati piuttosto che ai dati dell'utente.

### Restrizioni

Puoi **applicare restrizioni alle API key** per una maggiore sicurezza. Ad esempio, puoi limitare la chiave per essere **utilizzata solo da determinati indirizzi IP, siti web, app android, app iOS**, o limitarla a **determinate API o servizi** all'interno di GCP.

### Enumerazione

È possibile **vedere la restrizione di un'API key** (inclusa la restrizione degli endpoint API di GCP) utilizzando l'elenco dei verbi o descrivere:
```bash
gcloud services api-keys list
gcloud services api-keys describe <key-uuid>
gcloud services api-keys list --show-deleted
```
> [!NOTE]
> È possibile recuperare le chiavi eliminate prima che passino 30 giorni, ecco perché puoi elencare le chiavi eliminate.

### Privilege Escalation & Post Exploitation

{{#ref}}
../gcp-privilege-escalation/gcp-apikeys-privesc.md
{{#endref}}

### Unauthenticated Enum

{{#ref}}
../gcp-unauthenticated-enum-and-access/gcp-api-keys-unauthenticated-enum.md
{{#endref}}

### Persistence

{{#ref}}
../gcp-persistence/gcp-api-keys-persistence.md
{{#endref}}

{{#include ../../../banners/hacktricks-training.md}}
