GCP - Sourcerepos Privesc
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)
Για περισσότερες πληροφορίες σχετικά με τα Source Repositories, ελέγξτε:
GCP - Source Repositories Enumsource.repos.get
Με αυτή την άδεια είναι δυνατή η λήψη του αποθετηρίου τοπικά:
source.repos.update
Ένας χρήστης με αυτή την άδεια θα μπορεί να γράψει κώδικα μέσα σε ένα αποθετήριο που έχει κλωνοποιηθεί με gcloud source repos clone <repo>
. Αλλά σημειώστε ότι αυτή η άδεια δεν μπορεί να προσαρτηθεί σε προσαρμοσμένους ρόλους, οπότε πρέπει να δοθεί μέσω ενός προκαθορισμένου ρόλου όπως:
Ιδιοκτήτης
Συντάκτης
Διαχειριστής Αποθετηρίου Πηγής (roles/source.admin
)
Συγγραφέας Αποθετηρίου Πηγής (roles/source.writer
)
Για να γράψετε απλά εκτελέστε μια κανονική git push
.
source.repos.setIamPolicy
Με αυτή την άδεια, ένας επιτιθέμενος θα μπορούσε να παραχωρήσει στον εαυτό του τις προηγούμενες άδειες.
Εάν ο επιτιθέμενος έχει πρόσβαση στα μυστικά όπου αποθηκεύονται τα tokens, θα μπορέσει να τα κλέψει. Για περισσότερες πληροφορίες σχετικά με το πώς να αποκτήσετε πρόσβαση σε ένα μυστικό, ελέγξτε:
GCP - Secretmanager PrivescΕίναι δυνατή η προσθήκη κλειδιών ssh στο έργο Αποθετηρίου Πηγής στην κονσόλα ιστού. Κάνει μια αίτηση POST στο /v1/sshKeys:add
και μπορεί να ρυθμιστεί στο https://source.cloud.google.com/user/ssh_keys
Μόλις ρυθμιστεί το κλειδί ssh σας, μπορείτε να αποκτήσετε πρόσβαση σε ένα αποθετήριο με:
Και στη συνέχεια χρησιμοποιήστε τις εντολές git
όπως συνήθως.
Είναι δυνατόν να δημιουργήσετε χειροκίνητα διαπιστευτήρια για να αποκτήσετε πρόσβαση στα Source Repositories:
Κάνοντας κλικ στον πρώτο σύνδεσμο θα σας κατευθύνει στο https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3
Το οποίο θα σας ζητήσει ένα Oauth authorization prompt για να δώσει πρόσβαση στο Google Cloud Development. Έτσι θα χρειαστείτε είτε τα διαπιστευτήρια του χρήστη είτε μια ανοιχτή συνεδρία στον περιηγητή για αυτό.
Αυτό θα σας στείλει σε μια σελίδα με ένα bash script για εκτέλεση και να ρυθμίσετε ένα git cookie στο $HOME/.gitcookies
Εκτελώντας το script μπορείτε στη συνέχεια να χρησιμοποιήσετε git clone, push... και θα λειτουργήσει.
source.repos.updateProjectConfig
Με αυτή την άδεια είναι δυνατόν να απενεργοποιήσετε την προεπιλεγμένη προστασία των Source Repositories για να μην ανεβάσετε κώδικα που περιέχει Ιδιωτικά Κλειδιά:
Μπορείτε επίσης να ρυθμίσετε ένα διαφορετικό θέμα pub/sub ή ακόμη και να το απενεργοποιήσετε εντελώς:
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)