GCP - Cloud Functions Enum
Συναρτήσεις Cloud
Οι Google Cloud Functions είναι σχεδιασμένες για να φιλοξενούν τον κώδικά σας, ο οποίος εκτελείται απόκριση σε συμβάντα, χωρίς τη διαχείριση ενός λειτουργικού συστήματος φιλοξενίας. Επιπλέον, αυτές οι συναρτήσεις υποστηρίζουν την αποθήκευση μεταβλητών περιβάλλοντος, τις οποίες μπορεί να χρησιμοποιήσει ο κώδικας.
Αποθήκευση
Ο κώδικας των Cloud Functions αποθηκεύεται στην αποθήκη GCP. Συνεπώς, οποιοσδήποτε με πρόσβαση ανάγνωσης σε κάδους στο GCP θα μπορεί να διαβάσει τον κώδικα των Cloud Functions. Ο κώδικας αποθηκεύεται σε έναν κάδο όπως οι παρακάτω:
gcf-sources-<αριθμός>-<περιοχή>/<όνομα-συνάρτησης>-<uuid>/έκδοση-<n>/κώδικας-συνάρτησης.zip
gcf-v2-sources-<αριθμός>-<περιοχή>/<όνομα-συνάρτησης>κώδικας-συνάρτησης.zip
Για παράδειγμα:
gcf-sources-645468741258-us-central1/sυνάρτηση-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/έκδοση-4/κώδικας-συνάρτησης.zip
Οποιοσδήποτε χρήστης με δικαιώματα ανάγνωσης στον κάδο που αποθηκεύει την Cloud Function θα μπορούσε να διαβάσει τον εκτελούμενο κώδικα.
Καταχώριση Τεκμηρίου
Αν η συνάρτηση cloud είναι ρυθμισμένη έτσι ώστε το εκτελούμενο Docker container να αποθηκεύεται μέσα σε ένα αποθετήριο Artifact Registry μέσα στο έργο, οποιοσδήποτε με πρόσβαση ανάγνωσης στο αποθετήριο θα μπορεί να κατεβάσει την εικόνα και να ελέγξει τον πηγαίο κώδικα. Για περισσότερες πληροφορίες ελέγξτε:
GCP - Artifact Registry EnumSA
Αν δεν καθοριστεί, από προεπιλογή το Προεπιλεγμένο Λογαριασμό Υπηρεσίας App Engine με δικαιώματα Επεξεργαστή πάνω στο έργο θα συνδεθεί με την Cloud Function.
Ενεργοποιητές, URL & Ταυτοποίηση
Όταν δημιουργείται μια Cloud Function πρέπει να καθοριστεί ο ενεργοποιητής. Ένας συνηθισμένος είναι το HTTPS, αυτό θα δημιουργήσει ένα URL όπου η συνάρτηση μπορεί να ενεργοποιηθεί μέσω περιήγησης στον ιστό. Άλλοι ενεργοποιητές είναι pub/sub, Storage, Filestore...
Η μορφή του URL είναι https://<περιοχή>-<όνομα-έργου-gcp>.cloudfunctions.net/<όνομα-συνάρτησης>
Όταν χρησιμοποιείται ο ενεργοποιητής HTTPS, επίσης υποδεικνύεται αν ο καλούντας χρειάζεται εξουσιοδότηση IAM για να καλέσει τη Συνάρτηση ή αν ο καθένας μπορεί απλά να την καλέσει:
Μέσα στην Συνάρτηση Cloud
Ο κώδικας κατεβαίνει μέσα στον φάκελο /workspace
με τα ίδια ονόματα αρχείων όπως τα αρχεία έχουν στη Συνάρτηση Cloud και εκτελείται με τον χρήστη www-data
.
Το δίσκος δεν είναι τοποθετημένος ως μόνο για ανάγνωση.
Απαρίθμηση
Εscalation προνομίων
Στην ακόλουθη σελίδα, μπορείτε να ελέγξετε πώς να καταχραστείτε τα δικαιώματα των cloud functions για την ανάδειξη προνομίων:
GCP - Cloudfunctions PrivescΜη εξουσιοδοτημένη πρόσβαση
GCP - Cloud Functions Unauthenticated EnumΜετά από εκμετάλλευση
GCP - Cloud Functions Post ExploitationΔιατήρηση
GCP - Cloud Functions PersistenceΑναφορές
Last updated