Translated ['src/pentesting-cloud/gcp-security/gcp-unauthenticated-enum-

This commit is contained in:
Translator
2025-06-10 12:37:13 +00:00
parent 4e46ed8993
commit 3c780fad2a

View File

@@ -1,8 +1,8 @@
# GCP - Énumération non authentifiée des clés API
# GCP - API Keys Unauthenticated Enum
{{#include ../../../banners/hacktricks-training.md}}
## Clés API
## API Keys
Pour plus d'informations sur les clés API, consultez :
@@ -12,15 +12,41 @@ Pour plus d'informations sur les clés API, consultez :
### Techniques OSINT
**Les clés API Google sont largement utilisées par tout type d'applications** qui les utilisent côté client. Il est courant de les trouver dans le code source des sites web ou les requêtes réseau, dans les applications mobiles ou simplement en recherchant des regex sur des plateformes comme Github.
**Les clés API Google sont largement utilisées par tout type d'applications** qui les utilisent côté client. Il est courant de les trouver dans le code source des sites web ou dans les requêtes réseau, dans les applications mobiles ou simplement en recherchant des regex sur des plateformes comme Github.
La regex est : **`AIza[0-9A-Za-z_-]{35}`**
Recherchez-la par exemple sur Github en suivant : [https://github.com/search?q=%2FAIza%5B0-9A-Za-z\_-%5D%7B35%7D%2F\&type=code\&ref=advsearch](https://github.com/search?q=%2FAIza%5B0-9A-Za-z_-%5D%7B35%7D%2F&type=code&ref=advsearch)
### Vérifier le projet GCP d'origine - `apikeys.keys.lookup`
### Vérifier le projet GCP d'origine
Ceci est extrêmement utile pour vérifier **à quel projet GCP appartient une clé API que vous avez trouvée** :
Ceci est extrêmement utile pour vérifier **à quel projet GCP appartient une clé API que vous avez trouvée**. Nous avons différentes options :
- Contacter `https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=<api-key>`
Pour des raisons de concision, la sortie a été tronquée, mais dans la sortie complète, l'ID du projet apparaît plus de 5 fois.
```bash
curl -s "https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=AIzaSyD[...]uE8Y"
{
"error": {
"code": 403,
"message": "Identity Toolkit API has not been used in project 943955951114 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/identitytoolkit.googleapis.com/overview?project=943955951114 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
[...]
```
- Contact `https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=<api-key>`
Pour des raisons de concision, la sortie a été tronquée, mais dans la sortie complète, l'ID du projet apparaît plus de 5 fois.
```bash
curl -s "https://identitytoolkit.googleapis.com/v1/projects?key=AIzaSyD[...]uE8Y"
{
"error": {
"code": 403,
"message": "Identity Toolkit API has not been used in project 943955951114 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/identitytoolkit.googleapis.com/overview?project=943955951114 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
[...]
```
- [Celle-ci ne fonctionne plus !] `apikeys.keys.lookup`
```bash
# If you have permissions
gcloud services api-keys lookup AIzaSyD[...]uE8Y
@@ -45,6 +71,6 @@ reason: AUTH_PERMISSION_DENIED
```
### Brute Force API endspoints
Comme vous ne savez peut-être pas quelles APIs sont activées dans le projet, il serait intéressant d'exécuter l'outil [https://github.com/ozguralp/gmapsapiscanner](https://github.com/ozguralp/gmapsapiscanner) et de vérifier **ce à quoi vous pouvez accéder avec la clé API.**
Comme vous ne savez peut-être pas quelles API sont activées dans le projet, il serait intéressant d'exécuter l'outil [https://github.com/ozguralp/gmapsapiscanner](https://github.com/ozguralp/gmapsapiscanner) et de vérifier **ce à quoi vous pouvez accéder avec la clé API.**
{{#include ../../../banners/hacktricks-training.md}}