GCP - Artifact Registry 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)
Για περισσότερες πληροφορίες σχετικά με το Artifact Registry, ελέγξτε:
GCP - Artifact Registry EnumΜε αυτή την άδεια, ένας επιτιθέμενος θα μπορούσε να ανεβάσει νέες εκδόσεις των artifacts με κακόβουλο κώδικα όπως εικόνες Docker:
Ελέγχθηκε ότι είναι δυνατό να ανεβάσετε μια νέα κακόβουλη docker εικόνα με το ίδιο όνομα και ετικέτα όπως αυτή που είναι ήδη παρούσα, έτσι ώστε η παλιά να χάσει την ετικέτα και την επόμενη φορά που αυτή η εικόνα με αυτή την ετικέτα θα κατεβεί, η κακόβουλη θα κατεβεί.
Δεν είναι δυνατόν να ανεβάσετε μια βιβλιοθήκη python με την ίδια έκδοση με αυτή που είναι ήδη παρούσα, αλλά είναι δυνατόν να ανεβάσετε μεγαλύτερες εκδόσεις (ή να προσθέσετε μια επιπλέον .0
στο τέλος της έκδοσης αν αυτό λειτουργεί - όχι σε python όμως-), ή να διαγράψετε την τελευταία έκδοση και να ανεβάσετε μια νέα με (απαραίτητο artifactregistry.versions.delete)
:
artifactregistry.repositories.downloadArtifacts
Με αυτή την άδεια μπορείτε να κατεβάσετε αρχεία και να αναζητήσετε ευαίσθητες πληροφορίες και ευπάθειες.
Κατεβάστε μια Docker εικόνα:
Κατεβάστε μια python βιβλιοθήκη:
Τι συμβαίνει αν αναμειχθούν ένα απομακρυσμένο και ένα κανονικό μητρώο σε ένα εικονικό και ένα πακέτο υπάρχει και στα δύο; Ελέγξτε αυτή τη σελίδα:
artifactregistry.tags.delete
, artifactregistry.versions.delete
, artifactregistry.packages.delete
, (artifactregistry.repositories.get
, artifactregistry.tags.get
, artifactregistry.tags.list
)Διαγράψτε τα αρχεία από το μητρώο, όπως εικόνες docker:
artifactregistry.repositories.delete
Διαγράψτε ένα πλήρες αποθετήριο (ακόμα και αν έχει περιεχόμενο):
artifactregistry.repositories.setIamPolicy
Ένας επιτιθέμενος με αυτή την άδεια θα μπορούσε να δώσει στον εαυτό του άδειες για να εκτελέσει μερικές από τις προηγουμένως αναφερόμενες επιθέσεις αποθετηρίου.
Cloud Functions
Όταν δημιουργείται μια Cloud Function, μια νέα εικόνα docker αποστέλλεται στο Artifact Registry του έργου. Προσπάθησα να τροποποιήσω την εικόνα με μια νέα και ακόμη και να διαγράψω την τρέχουσα εικόνα (και την εικόνα cache
) και τίποτα δεν άλλαξε, η cloud function συνεχίζει να λειτουργεί. Επομένως, ίσως να είναι δυνατό να εκμεταλλευτεί κανείς μια επίθεση Race Condition όπως με τον κάδο για να αλλάξει το docker container που θα εκτελείται, αλλά απλά τροποποιώντας την αποθηκευμένη εικόνα δεν είναι δυνατό να συμβιβαστεί η Cloud Function.
App Engine
Ακόμη και αν το App Engine δημιουργεί εικόνες docker μέσα στο Artifact Registry. Δοκιμάστηκε ότι ακόμη και αν τροποποιήσεις την εικόνα μέσα σε αυτή την υπηρεσία και αφαιρέσεις την παρουσία του App Engine (έτσι ώστε να αναπτυχθεί μια νέα) ο κώδικας που εκτελείται δεν αλλάζει. Ενδέχεται να είναι δυνατό να εκτελέσεις μια επίθεση Race Condition όπως με τους κάδους, ίσως να είναι δυνατό να αντικαταστήσεις τον εκτελούμενο κώδικα, αλλά αυτό δεν δοκιμάστηκε.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)