GCP - API Anahtarları Yetkisiz Enum

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

API Anahtarları

API Anahtarları hakkında daha fazla bilgi için kontrol edin:

GCP - API Keys Enum

OSINT teknikleri

Google API Anahtarları, istemci tarafında kullanılan her türlü uygulama tarafından yaygın olarak kullanılmaktadır. Bunları web sitelerinin kaynak kodunda veya ağ isteklerinde, mobil uygulamalarda veya Github gibi platformlarda regex araması yaparak bulmak yaygındır.

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

Örneğin bunu Github’da şu şekilde arayın: https://github.com/search?q=%2FAIza%5B0-9A-Za-z_-%5D%7B35%7D%2F&type=code&ref=advsearch

Kaynak GCP projesini kontrol et

Bu, bulduğunuz bir API anahtarının hangi GCP projesine ait olduğunu kontrol etmek için son derece faydalıdır. Farklı seçeneklerimiz var:

  • İletişim https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=<api-key

Kısalık adına çıktı kısaltılmıştır, ancak tam çıktıda proje kimliği 5’ten fazla kez görünmektedir.

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.",
[...]
  • İletişim https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=<api-key>

Kısalık adına çıktı kesildi, ancak tam çıktıda proje kimliği 5’ten fazla kez görünmektedir.

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.",
[...]
  • [Bu artık çalışmıyor!] apikeys.keys.lookup
# 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 API uç noktaları

Proje içinde hangi API’lerin etkin olduğunu bilmediğiniz için, aracı çalıştırmak ilginç olabilir https://github.com/ozguralp/gmapsapiscanner ve API anahtarı ile neleri erişebileceğinizi kontrol edin.

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin