GCP - Cloudfunctions Privesc
cloudfunctions
Περισσότερες πληροφορίες για τις Cloud Functions:
GCP - Cloud Functions Enumcloudfunctions.functions.create
, cloudfunctions.functions.sourceCodeSet
, iam.serviceAccounts.actAs
cloudfunctions.functions.create
, cloudfunctions.functions.sourceCodeSet
, iam.serviceAccounts.actAs
Ένας επιτιθέμενος με αυτά τα προνόμια μπορεί να δημιουργήσει μια νέα Cloud Function με αυθαίρετο (κακόβουλο) κώδικα και να της αναθέσει έναν Λογαριασμό Υπηρεσίας. Στη συνέχεια, μπορεί να διαρρεύσει το διακριτικό του Λογαριασμού Υπηρεσίας από τα μεταδεδομένα για να αναβαθμίσει τα προνόμιά του σε αυτόν. Μπορεί να απαιτηθούν κάποια προνόμια για να ενεργοποιηθεί η συνάρτηση.
Τα scripts εκμετάλλευσης για αυτήν τη μέθοδο μπορούν να βρεθούν εδώ και εδώ και το προεγκατεσκευασμένο αρχείο .zip μπορεί να βρεθεί εδώ.
cloudfunctions.functions.update
, cloudfunctions.functions.sourceCodeSet
, iam.serviceAccounts.actAs
cloudfunctions.functions.update
, cloudfunctions.functions.sourceCodeSet
, iam.serviceAccounts.actAs
Ένας επιτιθέμενος με αυτά τα προνόμια μπορεί να τροποποιήσει τον κώδικα μιας Συνάρτησης και ακόμα και να τροποποιήσει τον συνδεδεμένο λογαριασμό υπηρεσίας με σκοπό τη διαρροή του διακριτικού. Μπορεί να απαιτηθούν κάποια προνόμια για να ενεργοποιηθεί η συνάρτηση.
Το script εκμετάλλευσης για αυτήν τη μέθοδο μπορεί να βρεθεί εδώ.
cloudfunctions.functions.sourceCodeSet
cloudfunctions.functions.sourceCodeSet
Με αυτήν την άδεια μπορείτε να λάβετε ένα υπογεγραμμένο URL για να μπορείτε να ανεβάσετε ένα αρχείο σε ένα κάδο συνάρτησης (αλλά ο κώδικας της συνάρτησης δεν θα αλλάξει, πρέπει ακόμα να τον ενημερώσετε)
Δεν είμαι σίγουρος πόσο χρήσιμη είναι αυτή η άδεια από την οπτική γωνία του επιτιθέμενου, αλλά είναι καλό να το γνωρίζετε.
cloudfunctions.functions.setIamPolicy
, iam.serviceAccounts.actAs
cloudfunctions.functions.setIamPolicy
, iam.serviceAccounts.actAs
Δώστε στον εαυτό σας οποιαδήποτε από τις προηγούμενες προνομιούχες .update
ή .create
για να αναβαθμίσετε.
cloudfunctions.functions.update
cloudfunctions.functions.update
Έχοντας μόνο τα δικαιώματα cloudfunctions
, χωρίς το iam.serviceAccounts.actAs
, δεν θα μπορείτε να ενημερώσετε τη λειτουργία, οπότε αυτό δεν είναι έγκυρο προνόμιο.
Δικαιώματα Εγγραφής Κάδου
Ένας επιτιθέμενος με δικαιώματα εγγραφής στον κάδο όπου αποθηκεύεται ο κώδικας των Cloud Functions θα μπορεί να τροποποιήσει τον κώδικα αντικαθιστώντας το function_code.zip
και θα μπορεί να εκτελέσει οποιονδήποτε κώδικα μόλις αυτός εκτελεστεί.
Αναφορές
Last updated