# GCP - API Keys Enum

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

## Osnovne informacije

U Google Cloud Platform (GCP), API ključevi su jednostavne enkriptovane stringove koje **identifikuju aplikaciju bez ikakvog principala**. Koriste se za **pristup Google Cloud API-ima** koji ne zahtevaju korisnički kontekst. To znači da se često koriste u scenarijima gde aplikacija pristupa sopstvenim podacima umesto korisničkim podacima.

### Ograničenja

Možete **primeniti ograničenja na API ključeve** za poboljšanu sigurnost. Na primer, možete ograničiti ključ da bude **koristeći samo određene IP adrese, web stranice, android aplikacije, iOS aplikacije**, ili ga ograničiti na **određene API-je ili usluge** unutar GCP.

### Enumeracija

Moguće je **videti ograničenje API ključa** (uključujući ograničenje GCP API krajnjih tačaka) koristeći listu glagola ili opis:
```bash
gcloud services api-keys list
gcloud services api-keys describe <key-uuid>
gcloud services api-keys list --show-deleted
```
> [!NOTE]
> Moguće je povratiti obrisane ključeve pre nego što prođe 30 dana, zato možete da listate obrisane ključeve.

### 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}}
