AWS - IAM Post Exploitation
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)
Για περισσότερες πληροφορίες σχετικά με την πρόσβαση IAM:
AWS - IAM, Identity Center & SSO EnumΕάν επιτρέψετε σε έναν εξωτερικό λογαριασμό (A) να έχει πρόσβαση σε έναν ρόλο στον λογαριασμό σας, πιθανότατα θα έχετε 0 ορατότητα σχετικά με ποιος μπορεί ακριβώς να έχει πρόσβαση σε αυτόν τον εξωτερικό λογαριασμό. Αυτό είναι πρόβλημα, διότι εάν ένας άλλος εξωτερικός λογαριασμός (B) μπορεί να έχει πρόσβαση στον εξωτερικό λογαριασμό (A), είναι πιθανό ότι ο B θα μπορεί επίσης να έχει πρόσβαση στον λογαριασμό σας.
Επομένως, όταν επιτρέπετε σε έναν εξωτερικό λογαριασμό να έχει πρόσβαση σε έναν ρόλο στον λογαριασμό σας, είναι δυνατόν να καθορίσετε ένα ExternalId
. Αυτό είναι μια "μυστική" συμβολοσειρά που ο εξωτερικός λογαριασμός (A) πρέπει να καθορίσει προκειμένου να αναλάβει τον ρόλο στην οργάνωσή σας. Καθώς ο εξωτερικός λογαριασμός B δεν θα γνωρίζει αυτή τη συμβολοσειρά, ακόμη και αν έχει πρόσβαση στον A, δεν θα μπορεί να έχει πρόσβαση στον ρόλο σας.
Ωστόσο, σημειώστε ότι αυτή η ExternalId
"μυστική" δεν είναι μυστική, οποιοσδήποτε μπορεί να διαβάσει την πολιτική ανάληψης ρόλου IAM θα μπορεί να την δει. Αλλά όσο ο εξωτερικός λογαριασμός A το γνωρίζει, αλλά ο εξωτερικός λογαριασμός B δεν το γνωρίζει, αυτό αποτρέπει τον B να εκμεταλλευτεί τον A για να έχει πρόσβαση στον ρόλο σας.
Example:
Για να εκμεταλλευτεί ένας επιτιθέμενος έναν μπερδεμένο αναπληρωτή, θα χρειαστεί να βρει με κάποιο τρόπο αν οι κύριοι του τρέχοντος λογαριασμού μπορούν να προσποιηθούν ρόλους σε άλλους λογαριασμούς.
Αυτή η πολιτική επιτρέπει σε όλα τα AWS να αναλάβουν τον ρόλο.
Αυτή η πολιτική επιτρέπει σε οποιονδήποτε λογαριασμό να ρυθμίσει το apigateway του για να καλέσει αυτή τη Lambda.
Αν ένα S3 bucket δοθεί ως κύριος, επειδή τα S3 buckets δεν έχουν ID Λογαριασμού, αν διαγράψατε το bucket σας και ο επιτιθέμενος το δημιούργησε στον δικό του λογαριασμό, τότε θα μπορούσαν να το εκμεταλλευτούν αυτό.
Ένας κοινός τρόπος για να αποφευχθούν τα προβλήματα Confused Deputy είναι η χρήση μιας συνθήκης με το AWS:SourceArn
για να ελέγξει το ARN προέλευσης. Ωστόσο, ορισμένες υπηρεσίες μπορεί να μην το υποστηρίζουν (όπως το CloudTrail σύμφωνα με ορισμένες πηγές).
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)