AWS - STS 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)
sts:AssumeRole
Κάθε ρόλος δημιουργείται με μια πολιτική εμπιστοσύνης ρόλου, αυτή η πολιτική υποδεικνύει ποιος μπορεί να αναλάβει τον δημιουργημένο ρόλο. Αν ένας ρόλος από τον ίδιο λογαριασμό λέει ότι ένας λογαριασμός μπορεί να τον αναλάβει, σημαίνει ότι ο λογαριασμός θα μπορεί να έχει πρόσβαση στον ρόλο (και ενδεχομένως privesc).
Για παράδειγμα, η παρακάτω πολιτική εμπιστοσύνης ρόλου υποδεικνύει ότι οποιοσδήποτε μπορεί να τον αναλάβει, επομένως οποιοσδήποτε χρήστης θα μπορεί να privesc στις άδειες που σχετίζονται με αυτόν τον ρόλο.
Μπορείτε να προσποιηθείτε έναν ρόλο εκτελώντας:
Πιθανές Επιπτώσεις: Privesc στο ρόλο.
Σημειώστε ότι σε αυτή την περίπτωση η άδεια sts:AssumeRole
πρέπει να είναι καθορισμένη στο ρόλο που θα καταχραστεί και όχι σε μια πολιτική που ανήκει στον επιτιθέμενο.
Με μία εξαίρεση, προκειμένου να αναλάβει ένα ρόλο από διαφορετικό λογαριασμό ο λογαριασμός του επιτιθέμενου πρέπει επίσης να έχει την sts:AssumeRole
πάνω στο ρόλο.
sts:GetFederationToken
Με αυτή την άδεια είναι δυνατό να δημιουργηθούν διαπιστευτήρια για να προσποιηθεί οποιονδήποτε χρήστη:
Αυτός είναι ο τρόπος με τον οποίο αυτή η άδεια μπορεί να δοθεί με ασφάλεια χωρίς να δίνεται πρόσβαση για να προσποιούνται άλλους χρήστες:
sts:AssumeRoleWithSAML
Μια πολιτική εμπιστοσύνης με αυτόν τον ρόλο παρέχει στους χρήστες που έχουν πιστοποιηθεί μέσω SAML πρόσβαση για να προσποιηθούν τον ρόλο.
Ένα παράδειγμα πολιτικής εμπιστοσύνης με αυτήν την άδεια είναι:
Για να δημιουργήσετε διαπιστευτήρια για να προσποιηθείτε τον ρόλο, γενικά θα μπορούσατε να χρησιμοποιήσετε κάτι όπως:
Αλλά οι πάροχοι μπορεί να έχουν τα δικά τους εργαλεία για να διευκολύνουν αυτό, όπως το onelogin-aws-assume-role:
Πιθανές Επιπτώσεις: Privesc στον ρόλο.
sts:AssumeRoleWithWebIdentity
Αυτή η άδεια παρέχει την άδεια να αποκτηθούν ένα σύνολο προσωρινών διαπιστευτηρίων ασφαλείας για χρήστες που έχουν αυθεντικοποιηθεί σε μια κινητή, διαδικτυακή εφαρμογή, EKS... με έναν πάροχο διαδικτυακής ταυτότητας. Μάθετε περισσότερα εδώ.
Για παράδειγμα, αν ένας λογαριασμός υπηρεσίας EKS θα πρέπει να μπορεί να παριστάνει έναν ρόλο IAM, θα έχει ένα διακριτικό στο /var/run/secrets/eks.amazonaws.com/serviceaccount/token
και μπορεί να αναλάβει τον ρόλο και να αποκτήσει διαπιστευτήρια κάνοντας κάτι όπως:
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)