GCP - Sourcerepos Privesc
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Source Repositories
Για περισσότερες πληροφορίες σχετικά με το Source Repositories δείτε:
GCP - Source Repositories Enum
source.repos.get
Με αυτήν την άδεια είναι δυνατή η λήψη του repository τοπικά:
Κλωνοποίηση source repository
```bash gcloud source repos clonesource.repos.update
Ένας principal με αυτό το δικαίωμα θα μπορεί να γράψει κώδικα μέσα σε ένα αποθετήριο που κλωνοποιήθηκε με gcloud source repos clone <repo>. Σημειώστε όμως ότι αυτό το δικαίωμα δεν μπορεί να επισυναφθεί σε custom roles, οπότε πρέπει να δοθεί μέσω ενός predefined role όπως:
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin) - Source Repository Writer (
roles/source.writer)
Για να γράψετε απλώς εκτελέστε ένα κανονικό git push.
source.repos.setIamPolicy
Με αυτό το δικαίωμα ένας attacker θα μπορούσε να παραχωρήσει στον εαυτό του τις προηγούμενες άδειες.
Secret access
Αν ο attacker έχει πρόσβαση στα secrets όπου αποθηκεύονται τα tokens, θα μπορεί να τα κλέψει. Για περισσότερες πληροφορίες σχετικά με το πώς να αποκτήσετε πρόσβαση σε ένα secret δείτε:
Add SSH keys
Είναι δυνατό να προσθέσετε ssh keys στο project του Source Repository μέσω του web console. Κάνει ένα POST request στο /v1/sshKeys:add και μπορεί να ρυθμιστεί στο https://source.cloud.google.com/user/ssh_keys
Μόλις το ssh key σας οριστεί, μπορείτε να αποκτήσετε πρόσβαση σε ένα repo με:
Κλωνοποίηση αποθετηρίου μέσω SSH
```bash git clone ssh://username@domain.com@source.developers.google.com:2022/p/Και στη συνέχεια χρησιμοποιήστε τις εντολές git όπως συνήθως.
Χειροκίνητα Credentials
It’s possible to create manual credentials to access the Source Repositories:
.png)
Κάνοντας κλικ στον πρώτο σύνδεσμο θα σας κατευθύνει στο 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. Επομένως θα χρειαστεί είτε τα credentials του χρήστη είτε μία ανοικτή συνεδρία στον browser.
This will send you to a page with a bash script to execute and configure a git cookie in $HOME/.gitcookies
.png)
Εκτελώντας το script μπορείτε στη συνέχεια να χρησιμοποιήσετε git clone, push… και θα λειτουργήσει.
source.repos.updateProjectConfig
Με αυτή την άδεια είναι δυνατό να απενεργοποιήσετε την προεπιλεγμένη προστασία των Source Repositories ώστε να μην ανεβαίνει κώδικας που περιέχει Private Keys:
Απενεργοποίηση pushblock και τροποποίηση της διαμόρφωσης pub/sub
```bash gcloud source project-configs update --disable-pushblock ``` Μπορείτε επίσης να ρυθμίσετε ένα διαφορετικό pub/sub topic ή ακόμη να το απενεργοποιήσετε εντελώς: ```bash gcloud source project-configs update --remove-topic=REMOVE_TOPIC gcloud source project-configs update --remove-topic=UPDATE_TOPIC ```Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

