GCP - Cloudfunctions Privesc

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

cloudfunctions

Περισσότερες πληροφορίες για τις Cloud Functions:

pageGCP - Cloud Functions Enum

cloudfunctions.functions.create , cloudfunctions.functions.sourceCodeSet, iam.serviceAccounts.actAs

Ένας επιτιθέμενος με αυτά τα προνόμια μπορεί να δημιουργήσει μια νέα Cloud Function με αυθαίρετο (κακόβουλο) κώδικα και να της αναθέσει έναν Λογαριασμό Υπηρεσίας. Στη συνέχεια, μπορεί να διαρρεύσει το διακριτικό του Λογαριασμού Υπηρεσίας από τα μεταδεδομένα για να αναβαθμίσει τα προνόμιά του σε αυτόν. Μπορεί να απαιτηθούν κάποια προνόμια για να ενεργοποιηθεί η συνάρτηση.

Τα scripts εκμετάλλευσης για αυτήν τη μέθοδο μπορούν να βρεθούν εδώ και εδώ και το προεγκατεσκευασμένο αρχείο .zip μπορεί να βρεθεί εδώ.

cloudfunctions.functions.update , cloudfunctions.functions.sourceCodeSet, iam.serviceAccounts.actAs

Ένας επιτιθέμενος με αυτά τα προνόμια μπορεί να τροποποιήσει τον κώδικα μιας Συνάρτησης και ακόμα και να τροποποιήσει τον συνδεδεμένο λογαριασμό υπηρεσίας με σκοπό τη διαρροή του διακριτικού. Μπορεί να απαιτηθούν κάποια προνόμια για να ενεργοποιηθεί η συνάρτηση.

Το script εκμετάλλευσης για αυτήν τη μέθοδο μπορεί να βρεθεί εδώ.

cloudfunctions.functions.sourceCodeSet

Με αυτήν την άδεια μπορείτε να λάβετε ένα υπογεγραμμένο URL για να μπορείτε να ανεβάσετε ένα αρχείο σε ένα κάδο συνάρτησης (αλλά ο κώδικας της συνάρτησης δεν θα αλλάξει, πρέπει ακόμα να τον ενημερώσετε)

# Generate the URL
curl -X POST https://cloudfunctions.googleapis.com/v2/projects/{project-id}/locations/{location}/functions:generateUploadUrl \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
-d '{}'

Δεν είμαι σίγουρος πόσο χρήσιμη είναι αυτή η άδεια από την οπτική γωνία του επιτιθέμενου, αλλά είναι καλό να το γνωρίζετε.

cloudfunctions.functions.setIamPolicy, iam.serviceAccounts.actAs

Δώστε στον εαυτό σας οποιαδήποτε από τις προηγούμενες προνομιούχες .update ή .create για να αναβαθμίσετε.

cloudfunctions.functions.update

Έχοντας μόνο τα δικαιώματα cloudfunctions, χωρίς το iam.serviceAccounts.actAs, δεν θα μπορείτε να ενημερώσετε τη λειτουργία, οπότε αυτό δεν είναι έγκυρο προνόμιο.

Δικαιώματα Εγγραφής Κάδου

Ένας επιτιθέμενος με δικαιώματα εγγραφής στον κάδο όπου αποθηκεύεται ο κώδικας των Cloud Functions θα μπορεί να τροποποιήσει τον κώδικα αντικαθιστώντας το function_code.zip και θα μπορεί να εκτελέσει οποιονδήποτε κώδικα μόλις αυτός εκτελεστεί.

Αναφορές

Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated