AWS - Cloudformation Privesc
cloudformation
Για περισσότερες πληροφορίες σχετικά με το cloudformation, ελέγξτε:
AWS - CloudFormation & Codestar Enumiam:PassRole
, cloudformation:CreateStack
iam:PassRole
, cloudformation:CreateStack
Ένας επιτιθέμενος με αυτές τις άδειες μπορεί να εξαπλωθεί προνόμια δημιουργώντας ένα CloudFormation stack με ένα προσαρμοσμένο πρότυπο, φιλοξενούμενο στον δικό του διακομιστή, για να εκτελέσει ενέργειες με τις άδειες ενός συγκεκριμένου ρόλου:
Στην ακόλουθη σελίδα έχετε ένα παράδειγμα εκμετάλλευσης με την επιπλέον άδεια cloudformation:DescribeStacks
:
Πιθανές Επιπτώσεις: Ανέβασμα δικαιωμάτων στον καθορισμένο ρόλο της υπηρεσίας cloudformation.
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)Σε αυτήν την περίπτωση μπορείτε να καταχραστείτε ένα υπάρχον cloudformation stack για να το ενημερώσετε και να αναβαθμίσετε τα δικαιώματα όπως στο προηγούμενο σενάριο:
Η άδεια cloudformation:SetStackPolicy
μπορεί να χρησιμοποιηθεί για να δώσετε στον εαυτό σας την άδεια UpdateStack
σε ένα stack και να πραγματοποιήσετε την επίθεση.
Πιθανές Επιπτώσεις: Ανέβασμα δικαιωμάτων στον ρόλο της υπηρεσίας cloudformation που έχει καθοριστεί.
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
Αν έχετε αυτήν την άδεια αλλά όχι την iam:PassRole
, μπορείτε ακόμα να ενημερώσετε τα stacks που χρησιμοποιούνται και να καταχραστείτε τους IAM ρόλους που έχουν ήδη συνδεθεί. Ελέγξτε την προηγούμενη ενότητα για παράδειγμα εκμετάλλευσης (απλά μην υποδείξετε κανέναν ρόλο στην ενημέρωση).
Η άδεια cloudformation:SetStackPolicy
μπορεί να χρησιμοποιηθεί για να δώσετε στον εαυτό σας την άδεια UpdateStack
σε ένα stack και να πραγματοποιήσετε την επίθεση.
Πιθανές Επιπτώσεις: Ανέβασμα δικαιωμάτων στον ρόλο της υπηρεσίας cloudformation που έχει ήδη συνδεθεί.
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Ένας επιτιθέμενος με δικαιώματα να περάσει έναν ρόλο και να δημιουργήσει και εκτελέσει ένα ChangeSet μπορεί να δημιουργήσει/ενημερώσει ένα νέο stack cloudformation και να καταχραστεί τους ρόλους της υπηρεσίας cloudformation όπως και με το CreateStack ή το UpdateStack.
Η παρακάτω εκμετάλλευση είναι μια παραλλαγή της CreateStack χρησιμοποιώντας τα δικαιώματα του ChangeSet για να δημιουργήσει ένα stack.
Η άδεια cloudformation:SetStackPolicy
μπορεί να χρησιμοποιηθεί για να δώσετε στον εαυτό σας δικαιώματα ChangeSet
πάνω σε ένα stack και να πραγματοποιήσετε την επίθεση.
Πιθανές Επιπτώσεις: Ανέβασμα δικαιωμάτων σε ρόλους υπηρεσίας cloudformation.
(cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Αυτή είναι παρόμοια με την προηγούμενη μέθοδο χωρίς την περάτωση ρόλων IAM, οπότε μπορείτε απλά να καταχραστείτε ήδη συνδεδεμένους ρόλους, απλά τροποποιήστε την παράμετρο:
Πιθανές Επιπτώσεις: Ανέβασμα δικαιωμάτων στον ρόλο υπηρεσίας cloudformation που έχει ήδη συνδεθεί.
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)Ένας επιτιθέμενος μπορεί να καταχραστεί αυτές τις άδειες για να δημιουργήσει/ενημερώσει StackSets για να καταχραστεί αυθαίρετους ρόλους cloudformation.
Πιθανές Επιπτώσεις: Ανέβασμα δικαιωμάτων σε ρόλους υπηρεσίας cloudformation.
cloudformation:UpdateStackSet
cloudformation:UpdateStackSet
Ένας επιτιθέμενος μπορεί να καταχραστεί αυτήν την άδεια χωρίς την άδεια passRole για να ενημερώσει StackSets και να καταχραστεί τους συνδεδεμένους ρόλους cloudformation.
Πιθανές Επιπτώσεις: Ανέβασμα δικαιωμάτων στους συνδεδεμένους ρόλους cloudformation.
Αναφορές
Last updated