# GCP - API Keys Enum

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

## Informations de base

Dans Google Cloud Platform (GCP), les clés API sont une simple chaîne cryptée qui **identifie une application sans aucun principal**. Elles sont utilisées pour **accéder aux API Google Cloud** qui ne nécessitent pas de contexte utilisateur. Cela signifie qu'elles sont souvent utilisées dans des scénarios où l'application accède à ses propres données plutôt qu'aux données de l'utilisateur.

### Restrictions

Vous pouvez **appliquer des restrictions aux clés API** pour une sécurité accrue. Par exemple, vous pouvez restreindre la clé pour qu'elle soit **utilisée uniquement par certaines adresses IP, sites web, applications Android, applications iOS**, ou la restreindre à **certaines API ou services** au sein de GCP.

### Énumération

Il est possible de **voir la restriction d'une clé API** (y compris la restriction des points de terminaison API GCP) en utilisant la liste des verbes ou décrire :
```bash
gcloud services api-keys list
gcloud services api-keys describe <key-uuid>
gcloud services api-keys list --show-deleted
```
> [!NOTE]
> Il est possible de récupérer des clés supprimées avant que 30 jours ne passent, c'est pourquoi vous pouvez lister les clés supprimées.

### Élévation de privilèges et post-exploitation

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

### Énumération non authentifiée

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

### Persistance

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

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