GCP - Enum Αρχείου Τέχνης

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

Βασικές Πληροφορίες

Το Google Cloud Artifact Registry είναι μια πλήρως διαχειριζόμενη υπηρεσία που σας επιτρέπει να διαχειρίζεστε, αποθηκεύετε και ασφαλίζετε τα λογισμικά σας αρχεία. Είναι ουσιαστικά ένα αποθετήριο για την αποθήκευση εξαρτήσεων κατασκευής, όπως Docker εικόνες, Maven, πακέτα npm και άλλους τύπους αρχείων. Χρησιμοποιείται συνήθως σε CI/CD pipelines για την αποθήκευση και την έκδοση των αρχείων που παράγονται κατά τη διάρκεια της διαδικασίας ανάπτυξης λογισμικού.

Τα κύρια χαρακτηριστικά του Artifact Registry περιλαμβάνουν:

  1. Ενοποιημένο Αποθετήριο: Υποστηρίζει πολλούς τύπους αρχείων, επιτρέποντάς σας να έχετε ένα μόνο αποθετήριο για Docker εικόνες, πακέτα γλώσσας (όπως το Maven της Java, το npm του Node.js) και άλλους τύπους αρχείων, διευκολύνοντας τους ελέγχους πρόσβασης και μια ενοποιημένη θέα σε όλα τα αρχεία σας.
  2. Πλήρως Διαχειριζόμενο: Ως διαχειριζόμενη υπηρεσία, φροντίζει για την υποκείμενη υποδομή, την κλιμάκωση και την ασφάλεια, μειώνοντας το κόστος συντήρησης για τους χρήστες.
  3. Λεπτομερής Έλεγχος Πρόσβασης: Ενσωματώνεται με το Identity and Access Management (IAM) της Google Cloud, επιτρέποντάς σας να ορίσετε ποιος μπορεί να έχει πρόσβαση, να ανεβάσει ή να κατεβάσει αρχεία στα αποθετήριά σας.
  4. Γεω-αναπαραγωγή: Υποστηρίζει την αναπαραγωγή αρχείων σε πολλές περιοχές, βελτιώνοντας την ταχύτητα των λήψεων και εξασφαλίζοντας τη διαθεσιμότητα.
  5. Ενσωμάτωση με Υπηρεσίες Google Cloud: Λειτουργεί απρόσκοπτα με άλλες υπηρεσίες GCP όπως Cloud Build, Kubernetes Engine και Compute Engine, καθιστώντας το μια βολική επιλογή για ομάδες που εργάζονται ήδη στο οικοσύστημα της Google Cloud.
  6. Ασφάλεια: Προσφέρει χαρακτηριστικά όπως σάρωση ευπαθειών και ανάλυση κοντέινερ για να διασφαλίσει ότι τα αποθηκευμένα αρχεία είναι ασφαλή και χωρίς γνωστά προβλήματα ασφάλειας.

Μορφές και Λειτουργίες

Κατά τη δημιουργία ενός νέου αποθετηρίου είναι δυνατόν να επιλέξετε τη μορφή/τύπο του αποθετηρίου ανάμεσα σε αρκετές όπως Docker, Maven, npm, Python… και τη λειτουργία που συνήθως μπορεί να είναι μία από αυτές τις τρεις:

  • Κανονικό Αποθετήριο: Προεπιλεγμένη λειτουργία για την αποθήκευση των δικών σας αρχείων (όπως Docker εικόνες, πακέτα Maven) απευθείας στο GCP. Είναι ασφαλές, κλιμακούμενο και ενσωματώνεται καλά στο οικοσύστημα της Google Cloud.
  • Αποθετήριο Remote (αν είναι διαθέσιμο): Λειτουργεί ως proxy για την αποθήκευση αρχείων από εξωτερικά, δημόσια αποθετήρια. Βοηθά στην αποφυγή προβλημάτων από την αλλαγή εξαρτήσεων upstream και μειώνει την καθυστέρηση αποθηκεύοντας συχνά προσβάσιμα αρχεία.
  • Εικονικό Αποθετήριο (αν είναι διαθέσιμο): Παρέχει μια ενοποιημένη διεπαφή για πρόσβαση σε πολλαπλά (κανονικά ή απομακρυσμένα) αποθετήρια μέσω ενός μόνο σημείου πρόσβασης, απλοποιώντας τη διαμόρφωση και τη διαχείριση πρόσβασης για αρχεία που είναι διασκορπισμένα σε διάφορα αποθετήρια.
  • Για ένα εικονικό αποθετήριο θα χρειαστεί να επιλέξετε αποθετήρια και να τους δώσετε προτεραιότητα (το αποθετήριο με τη μεγαλύτερη προτεραιότητα θα χρησιμοποιηθεί).
  • Μπορείτε να συνδυάσετε απομακρυσμένα και κανονικά αποθετήρια σε ένα εικονικό, αν η προτεραιότητα του απομακρυσμένου είναι μεγαλύτερη από την κανονική, πακέτα από απομακρυσμένα (π.χ. PyPi) θα χρησιμοποιηθούν. Αυτό θα μπορούσε να οδηγήσει σε Σύγχυση Εξαρτήσεων.

Σημειώστε ότι στην Απομακρυσμένη έκδοση του Docker είναι δυνατόν να δώσετε ένα όνομα χρήστη και ένα token για πρόσβαση στο Docker Hub. Το token αποθηκεύεται στη συνέχεια στο Secret Manager.

Κρυπτογράφηση

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

Πολιτικές Καθαρισμού

  • Διαγραφή αρχείων: Τα αρχεία θα διαγράφονται σύμφωνα με τα κριτήρια πολιτικής καθαρισμού.
  • Δοκιμαστική εκτέλεση: (Προεπιλεγμένη) Τα αρχεία δεν θα διαγραφούν. Οι πολιτικές καθαρισμού θα αξιολογηθούν και θα σταλούν δοκιμαστικά γεγονότα διαγραφής στο Cloud Audit Logging.

Σάρωση Ευπαθειών

Είναι δυνατόν να ενεργοποιήσετε τον σάρωτη ευπαθειών που θα ελέγξει για ευπάθειες μέσα σε εικόνες κοντέινερ.

Αριθμητική

# Get repositories
gcloud artifacts repositories list
gcloud artifacts repositories describe --location <location> <repo-name>
gcloud artifacts versions list --repository=<repo-name> -location <location> --package <package-name>

# Get settings of a repository (example using python but could be other)
gcloud artifacts print-settings python --repository <repo-name> --location <location>

# Get docker images
gcloud artifacts docker images list us-central1-docker.pkg.dev/<proj-name>/<repo-name>

# Get packages (like python and others...)
gcloud artifacts packages list --repository <repo-name> --location <location>

# Get SBOMB artifacts
gcloud artifacts sbom list

# Get vulnerabilities (docker images)
gcloud artifacts vulnerabilities list us-east1-docker.pkg.dev/project123/repository123/someimage@sha256:49765698074d6d7baa82f
gcloud artifacts docker images list-vulnerabilities projects/<proj-name>/locations/<location>/scans/<scan-uuid>

Ανάβαση Δικαιωμάτων

GCP - Artifact Registry Privesc

Μη Αυθεντικοποιημένη Πρόσβαση

GCP - Artifact Registry Unauthenticated Enum

Μετά την Εκμετάλλευση

GCP - Artifact Registry Post Exploitation

Επιμονή

GCP - Artifact Registry Persistence

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