GCP - Cloud Functions Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Google Cloud Functions έχουν σχεδιαστεί για να φιλοξενούν τον κώδικά σας, ο οποίος εκτελείται ως απάντηση σε γεγονότα, χωρίς να απαιτείται η διαχείριση ενός λειτουργικού συστήματος. Επιπλέον, αυτές οι λειτουργίες υποστηρίζουν την αποθήκευση μεταβλητών περιβάλλοντος, τις οποίες μπορεί να χρησιμοποιήσει ο κώδικας.
Ο κώδικας των Cloud Functions αποθηκεύεται στο GCP Storage. Επομένως, οποιοσδήποτε έχει δικαιώματα ανάγνωσης στους κάδους στο GCP θα μπορεί να διαβάσει τον κώδικα των Cloud Functions. Ο κώδικας αποθηκεύεται σε έναν κάδο όπως ένας από τους παρακάτω:
gcf-sources-<number>-<region>/<function-name>-<uuid>/version-<n>/function-source.zip
gcf-v2-sources-<number>-<region>/<function-name>function-source.zip
Για παράδειγμα:
gcf-sources-645468741258-us-central1/function-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/version-4/function-source.zip
Οποιοσδήποτε χρήστης με δικαιώματα ανάγνωσης στον κάδο που αποθηκεύει την Cloud Function θα μπορούσε να διαβάσει τον εκτελούμενο κώδικα.
Εάν η cloud function είναι ρυθμισμένη έτσι ώστε το εκτελούμενο Docker container να αποθηκεύεται μέσα σε ένα Artifact Registry repo μέσα στο έργο, οποιοσδήποτε με δικαιώματα ανάγνωσης στο repo θα μπορεί να κατεβάσει την εικόνα και να ελέγξει τον πηγαίο κώδικα. Για περισσότερες πληροφορίες δείτε:
GCP - Artifact Registry EnumΕάν δεν καθοριστεί, από προεπιλογή ο App Engine Default Service Account με δικαιώματα Editor πάνω στο έργο θα συσχετιστεί με την Cloud Function.
Όταν δημιουργείται μια Cloud Function, πρέπει να καθοριστεί το trigger. Ένα κοινό είναι το HTTPS, αυτό θα δημιουργήσει μια URL όπου η λειτουργία μπορεί να ενεργοποιηθεί μέσω περιήγησης στο διαδίκτυο. Άλλα triggers είναι pub/sub, Storage, Filestore...
Η μορφή της URL είναι https://<region>-<project-gcp-name>.cloudfunctions.net/<func_name>
Όταν χρησιμοποιείται το trigger HTTPS, υποδεικνύεται επίσης αν ο καλούν χρειάζεται να έχει IAM authorization για να καλέσει τη Function ή αν ο καθένας μπορεί απλώς να την καλέσει:
Ο κώδικας κατεβαίνει μέσα στον φάκελο /workspace
με τα ίδια ονόματα αρχείων όπως αυτά που έχουν τα αρχεία στην Cloud Function και εκτελείται με τον χρήστη www-data
.
Ο δίσκος δεν είναι προσαρτημένος ως μόνο για ανάγνωση.
In the following page, you can check how to καταχραστείτε τις άδειες λειτουργίας του cloud για να κλιμακώσετε τα προνόμια:
GCP - Cloudfunctions PrivescLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)