Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε The PEASS Family, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε με στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Βασικές Πληροφορίες:
{% content-ref url="../gcp-services/gcp-storage-enum.md" %} gcp-storage-enum.md {% endcontent-ref %}
Αυτή η άδεια σας επιτρέπει να κατεβάσετε αρχεία που αποθηκεύονται μέσα στην Αποθήκευση του Cloud. Αυτό θα σας επιτρέψει πιθανώς να ανεβάσετε προνόμια επειδή σε ορισμένες περιπτώσεις ευαίσθητες πληροφορίες αποθηκεύονται εκεί. Επιπλέον, ορισμένες υπηρεσίες του GCP αποθηκεύουν τις πληροφορίες τους σε κάδους:
- GCP Composer: Όταν δημιουργείτε ένα Περιβάλλον Composer, ο κώδικας όλων των DAGs θα αποθηκευτεί μέσα σε έναν κάδο. Αυτές οι εργασίες μπορεί να περιέχουν ενδιαφέρουσες πληροφορίες μέσα στον κώδικά τους.
- GCR (Container Registry): Η εικόνα των εμπορευμάτων αποθηκεύεται μέσα σε κάδους, πράγμα που σημαίνει ότι εάν μπορείτε να διαβάσετε τους κάδους θα μπορείτε να κατεβάσετε τις εικόνες και να αναζητήσετε διαρροές και/ή πηγαίο κώδικα.
Μπορείτε να δώσετε την άδεια να καταχραστείτε οποιοδήποτε από τα προηγούμενα σενάρια αυτής της ενότητας.
Για ένα παράδειγμα για το πώς να τροποποιήσετε τις άδειες με αυτήν την άδεια, ελέγξτε αυτήν τη σελίδα:
{% content-ref url="../gcp-unaunthenticated-enum-and-access/gcp-storage-unauthenticated-enum/gcp-public-buckets-privilege-escalation.md" %} gcp-public-buckets-privilege-escalation.md {% endcontent-ref %}
Η "δυνατότητα αλληλεπίδρασης" της Αποθήκευσης του Cloud Storage, σχεδιασμένη για αλληλεπιδράσεις μεταξύ πολλαπλών νέφων όπως με το AWS S3, περιλαμβάνει τη δημιουργία κλειδιών HMAC για Λογαριασμούς Υπηρεσιών και χρήστες. Ένας επιτιθέμενος μπορεί να εκμεταλλευτεί αυτό δημιουργώντας ένα κλειδί HMAC για έναν Λογαριασμό Υπηρεσίας με αυξημένα προνόμια, με αποτέλεσμα την ανέβαση προνομίων εντός της Αποθήκευσης του Cloud. Ενώ τα κλειδιά HMAC που σχετίζονται με τους χρήστες είναι προσβάσιμα μόνο μέσω της ιστοσελίδας, τόσο τα κλειδιά πρόσβασης όσο και τα μυστικά κλειδιά παραμένουν προσβάσιμα διαρκώς, επιτρέποντας την πιθανή ανάκτηση πρόσβασης αντιγράφων ασφαλείας. Αντιθέτως, τα κλειδιά HMAC που συνδέονται με τους Λογαριασμούς Υπηρεσίας είναι προσβάσιμα μέσω του API, αλλά τα κλειδιά πρόσβασης και τα μυστικά κλειδιά τους δεν είναι προσβάσιμα μετά τη δημιουργία τους, προσθέτοντας ένα επίπεδο πολυπλοκότητας για συνεχή πρόσβαση.
# Create key
gsutil hmac create <sa-email>
# Configure gsutil to use it
gsutil config -a
# Use it
gsutil ls gs://[BUCKET_NAME]
Ένα άλλο σενάριο εκμετάλλευσης για αυτήν τη μέθοδο μπορεί να βρεθεί εδώ.
Για να δημιουργήσετε ένα νέο αντικείμενο μέσα σε ένα κάδο, χρειάζεστε το storage.objects.create
και, σύμφωνα με τα έγγραφα, χρειάζεστε επίσης το storage.objects.delete
για να τροποποιήσετε ένα υπάρχον αντικείμενο.
Μια πολύ συνηθισμένη εκμετάλλευση των κάδων όπου μπορείτε να γράψετε στο cloud είναι στην περίπτωση που ο κάδος αποθηκεύει αρχεία διακομιστή ιστού, μπορείτε να αποθηκεύσετε νέο κώδικα που θα χρησιμοποιηθεί από την εφαρμογή ιστού.
Το Composer είναι το Apache Airflow που διαχειρίζεται μέσα στο GCP. Διαθέτει αρκετά ενδιαφέροντα χαρακτηριστικά:
- Τρέχει μέσα σε ένα GKE cluster, οπότε ο SA που χρησιμοποιεί το cluster είναι προσβάσιμος από τον κώδικα που εκτελείται μέσα στο Composer
- Αποθηκεύει τον κώδικα σε έναν κάδο, επομένως, οποιοσδήποτε με δικαιώματα εγγραφής σε αυτόν τον κάδο θα μπορεί να αλλάξει/προσθέσει έναν κώδικα DGA (ο κώδικας που θα εκτελέσει το Apache Airflow)
Έτσι, αν έχετε δικαιώματα εγγραφής στον κάδο που χρησιμοποιεί ο Composer για να αποθηκεύσετε τον κώδικα, μπορείτε να αναβαθμίσετε τα δικαιώματα πρόσβασης στον SA που εκτελείται στο GKE cluster.
- Ο κώδικας των Cloud Functions αποθηκεύεται στην Αποθήκευση, οπότε αν αντικαταστήσετε τον κώδικα, είναι δυνατή η εκτέλεση αυθαίρετου κώδικα.
- Ο κώδικας του App Engine αποθηκεύεται σε κάδους, αν αντικαταστήσετε τον κώδικα, είναι δυνατή η εκτέλεση αυθαίρετου κώδικα. ΑΥΤΟ ΔΕΝ ΕΙΝΑΙ ΔΥΝΑΤΟ
- Φαίνεται ότι οι επίπεδα των ελάσσονων δοχείων αποθηκεύονται στον κάδο, ίσως να αλλάξετε αυτά;
- Το Google Container Registry αποθηκεύει τις εικόνες μέσα σε κάδους, αν μπορείτε να γράψετε σε αυτούς τους κάδους μπορεί να είναι δυνατή η μετάβαση πλευρικά εκεί όπου εκτελούνται αυτοί οι κάδοι.
- Ο κάδος που χρησιμοποιείται από το GCR θα έχει μια διεύθυνση URL παρόμοια με
gs://<eu/usa/asia/nothing>.artifacts.<project>.appspot.com
(Οι υποεπίπεδα των κυρίων τομέων καθορίζονται εδώ).
Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε The PEASS Family, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε με στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.