GCP - API Keys Unauthenticated Enum

Apoie o HackTricks

Chaves de API

Para mais informações sobre Chaves de API, consulte:

GCP - API Keys Enum

Técnicas de OSINT

As Chaves de API do Google são amplamente utilizadas por qualquer tipo de aplicação que as utiliza do lado do cliente. É comum encontrá-las no código-fonte de sites ou em solicitações de rede, em aplicativos móveis ou apenas pesquisando por regex em plataformas como o Github.

A regex é: AIza[0-9A-Za-z_-]{35}

Busque por exemplo no Github em: https://github.com/search?q=%2FAIza%5B0-9A-Za-z_-%5D%7B35%7D%2F&type=code&ref=advsearch

Verificar origem do projeto GCP - apikeys.keys.lookup

Isso é extremamente útil para verificar a qual projeto GCP uma chave de API que você encontrou pertence:

# If you have permissions
gcloud services api-keys lookup AIzaSyD[...]uE8Y
name: projects/5[...]6/locations/global/keys/28d[...]e0e
parent: projects/5[...]6/locations/global

# If you don't, you can still see the project ID in the error msg
gcloud services api-keys lookup AIzaSy[...]Qbkd_oYE
ERROR: (gcloud.services.api-keys.lookup) PERMISSION_DENIED: Permission 'apikeys.keys.lookup' denied on resource project.
Help Token: ARD_zUaNgNilGTg9oYUnMhfa3foMvL7qspRpBJ-YZog8RLbTjCTBolt_WjQQ3myTaOqu4VnPc5IbA6JrQN83CkGH6nNLum6wS4j1HF_7HiCUBHVN
- '@type': type.googleapis.com/google.rpc.PreconditionFailure
violations:
- subject: ?error_code=110002&service=cloudresourcemanager.googleapis.com&permission=serviceusage.apiKeys.getProjectForKey&resource=projects/89123452509
type: googleapis.com
- '@type': type.googleapis.com/google.rpc.ErrorInfo
domain: apikeys.googleapis.com
metadata:
permission: serviceusage.apiKeys.getProjectForKey
resource: projects/89123452509
service: cloudresourcemanager.googleapis.com
reason: AUTH_PERMISSION_DENIED

Brute Force nos endpoints da API

Como você pode não saber quais APIs estão habilitadas no projeto, seria interessante executar a ferramenta https://github.com/ozguralp/gmapsapiscanner e verificar o que você pode acessar com a chave da API.

Last updated