diff --git a/src/pentesting-cloud/gcp-security/gcp-unauthenticated-enum-and-access/gcp-api-keys-unauthenticated-enum.md b/src/pentesting-cloud/gcp-security/gcp-unauthenticated-enum-and-access/gcp-api-keys-unauthenticated-enum.md index ba588e420..304d3fea7 100644 --- a/src/pentesting-cloud/gcp-security/gcp-unauthenticated-enum-and-access/gcp-api-keys-unauthenticated-enum.md +++ b/src/pentesting-cloud/gcp-security/gcp-unauthenticated-enum-and-access/gcp-api-keys-unauthenticated-enum.md @@ -12,15 +12,41 @@ Para más información sobre las Claves API, consulta: ### Técnicas OSINT -**Las Claves API de Google son ampliamente utilizadas por cualquier tipo de aplicaciones** que se utilizan desde el lado del cliente. Es común encontrarlas en el código fuente de sitios web o solicitudes de red, en aplicaciones móviles o simplemente buscando expresiones regulares en plataformas como Github. +**Las Claves API de Google son ampliamente utilizadas por cualquier tipo de aplicaciones** que las usan desde el lado del cliente. Es común encontrarlas en el código fuente de sitios web o en solicitudes de red, en aplicaciones móviles o simplemente buscando expresiones regulares en plataformas como Github. La expresión regular es: **`AIza[0-9A-Za-z_-]{35}`** Búscalo, por ejemplo, en Github siguiendo: [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) -### Verificar el proyecto GCP de origen - `apikeys.keys.lookup` +### Verificar el proyecto GCP de origen -Esto es extremadamente útil para verificar **a qué proyecto GCP pertenece una clave API que has encontrado**: +Esto es extremadamente útil para verificar **a qué proyecto GCP pertenece una clave API que has encontrado**. Tenemos diferentes opciones: + +- Contactar `https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=` + +Por brevedad, la salida fue truncada, pero en la salida completa el ID del proyecto aparece más de 5 veces. +```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.", +[...] +``` +- Contacta `https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=` + +Para abreviar, la salida fue truncada, pero en la salida completa el ID del proyecto aparece más de 5 veces. +```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.", +[...] +``` +- [¡Este ya no funciona!] `apikeys.keys.lookup` ```bash # If you have permissions gcloud services api-keys lookup AIzaSyD[...]uE8Y