GCP - API Keys Unauthenticated Enum

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

API Keys

Για περισσότερες πληροφορίες σχετικά με τα API Keys, ελέγξτε:

GCP - API Keys Enum

OSINT techniques

Τα Google API Keys χρησιμοποιούνται ευρέως από οποιοδήποτε είδος εφαρμογών που χρησιμοποιούνται από την πλευρά του πελάτη. Είναι κοινό να τα βρίσκουμε στον πηγαίο κώδικα ιστοσελίδων ή σε αιτήματα δικτύου, σε κινητές εφαρμογές ή απλά αναζητώντας regex σε πλατφόρμες όπως το Github.

Ο regex είναι: AIza[0-9A-Za-z_-]{35}

Αναζητήστε το για παράδειγμα στο Github ακολουθώντας: https://github.com/search?q=%2FAIza%5B0-9A-Za-z_-%5D%7B35%7D%2F&type=code&ref=advsearch

Check origin GCP project

Αυτό είναι εξαιρετικά χρήσιμο για να ελέγξετε σε ποιο GCP project ανήκει ένα API key που έχετε βρει. Έχουμε διαφορετικές επιλογές:

  • Επικοινωνήστε με https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=<api-key>

Για λόγους συντομίας, η έξοδος έχει περικοπεί, αλλά στην πλήρη έξοδο το project ID εμφανίζεται περισσότερες από 5 φορές.

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.",
[...]
  • Επικοινωνήστε με https://www.googleapis.com/identitytoolkit/v3/relyingparty/getProjectConfig?key=<api-key>

Για λόγους συντομίας, η έξοδος έχει περικοπεί, αλλά στην πλήρη έξοδο το ID του έργου εμφανίζεται περισσότερες από 5 φορές.

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.",
[...]
  • [Αυτό δεν λειτουργεί πια!] 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 endspoints

Καθώς μπορεί να μην γνωρίζετε ποιες APIs είναι ενεργοποιημένες στο έργο, θα ήταν ενδιαφέρον να εκτελέσετε το εργαλείο https://github.com/ozguralp/gmapsapiscanner και να ελέγξετε τι μπορείτε να αποκτήσετε πρόσβαση με το API key.

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks