GCP - Sourcerepos Privesc
Last updated
Last updated
Για περισσότερες πληροφορίες σχετικά με τα Αποθετήρια Πηγαίου Κώδικα, ελέγξτε:
source.repos.get
Με αυτήν την άδεια είναι δυνατή η λήψη του αποθετηρίου τοπικά:
source.repos.update
Ένας χρήστης με αυτήν την άδεια θα μπορεί να γράψει κώδικα μέσα σε ένα αποθετήριο που έχει κλωνοποιηθεί με την εντολή gcloud source repos clone <repo>
. Ωστόσο, πρέπει να σημειωθεί ότι αυτή η άδεια δεν μπορεί να εφαρμοστεί σε προσαρμοσμένους ρόλους, οπότε πρέπει να δοθεί μέσω ενός προκαθορισμένου ρόλου όπως:
Κάτοχος
Επεξεργαστής
Διαχειριστής αποθετηρίου πηγής (roles/source.admin
)
Συγγραφέας αποθετηρίου πηγής (roles/source.writer
)
Για να γράψετε, απλά εκτελέστε μια κανονική εντολή git push
.
source.repos.setIamPolicy
Με αυτήν την άδεια, ένας επιτιθέμενος μπορεί να χορηγήσει στον εαυτό του τις προηγούμενες άδειες.
Εάν ο επιτιθέμενος έχει πρόσβαση στα μυστικά όπου αποθηκεύονται τα διαπιστευτήρια, θα μπορεί να τα κλέψει. Για περισσότερες πληροφορίες σχετικά με το πώς να αποκτήσετε πρόσβαση σε ένα μυστικό, ανατρέξτε στο:
Είναι δυνατόν να προσθέσετε κλειδιά SSH στο έργο του αποθετηρίου πηγής μέσω της διαδικτυακής κονσόλας. Αυτό γίνεται με μια αίτηση POST στο /v1/sshKeys:add
και μπορεί να διαμορφωθεί στη διεύθυνση https://source.cloud.google.com/user/ssh_keys
Αφού ορίσετε το κλειδί SSH σας, μπορείτε να αποκτήσετε πρόσβαση σε ένα αποθετήριο με:
Και στη συνέχεια χρησιμοποιήστε τις εντολές git
όπως συνήθως.
Είναι δυνατόν να δημιουργήσετε χειροκίνητα διαπιστευτήρια για να αποκτήσετε πρόσβαση στα Αποθετήρια Πηγαίου Κώδικα:
Κάνοντας κλικ στον πρώτο σύνδεσμο θα σας κατευθύνει στη διεύθυνση https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3
Αυτό θα εμφανίσει ένα παράθυρο εξουσιοδότησης Oauth για να δώσετε πρόσβαση στην Ανάπτυξη Google Cloud. Έτσι θα χρειαστείτε είτε τα διαπιστευτήρια του χρήστη είτε μια ανοιχτή συνεδρία στον περιηγητή για αυτό.
Αυτό θα σας αποστείλει σε μια σελίδα με ένα bash script για εκτέλεση και διαμόρφωση ενός git cookie στο $HOME/.gitcookies
Εκτελώντας το σενάριο, μπορείτε να χρησιμοποιήσετε την git clone, push... και θα λειτουργήσει.
source.repos.updateProjectConfig
Με αυτήν την άδεια είναι δυνατόν να απενεργοποιηθεί η προεπιλεγμένη προστασία των Αποθετηρίων Πηγαίου Κώδικα για να μην ανεβάζετε κώδικα που περιέχει Ιδιωτικά Κλειδιά:
Μπορείτε επίσης να ρυθμίσετε ένα διαφορετικό θέμα pub/sub ή ακόμη και να το απενεργοποιήσετε εντελώς: