AWS - IAM Privesc
IAM
Για περισσότερες πληροφορίες σχετικά με το IAM, ελέγξτε:
AWS - IAM, Identity Center & SSO Enumiam:CreatePolicyVersion
iam:CreatePolicyVersion
Χορηγεί τη δυνατότητα δημιουργίας μιας νέας έκδοσης πολιτικής IAM, παρακάμπτοντας την ανάγκη για άδεια iam:SetDefaultPolicyVersion
χρησιμοποιώντας τη σημαία --set-as-default
. Αυτό επιτρέπει τον καθορισμό προσαρμοσμένων δικαιωμάτων.
Εκμετάλλευση Εντολής:
Επίδραση: Αυξάνει απευθείας τα προνόμια επιτρέποντας οποιαδήποτε ενέργεια σε οποιοδήποτε πόρο.
iam:SetDefaultPolicyVersion
iam:SetDefaultPolicyVersion
Επιτρέπει την αλλαγή της προεπιλεγμένης έκδοσης μιας πολιτικής IAM σε μια άλλη υπάρχουσα έκδοση, πιθανώς αυξάνοντας τα προνόμια εάν η νέα έκδοση έχει περισσότερες άδειες.
Εντολή Bash:
Επίδραση: Έμμεση ανέλιξη προνομίων με την ενεργοποίηση περισσότερων δικαιωμάτων.
iam:CreateAccessKey
iam:CreateAccessKey
Επιτρέπει τη δημιουργία αναγνωριστικού κλειδιού πρόσβασης και μυστικού κλειδιού πρόσβασης για έναν άλλο χρήστη, οδηγώντας σε πιθανή ανέλιξη προνομίων.
Εκμετάλλευση:
Επίδραση: Άμεση ανέλιξη προνομίων με την υπόθεση των εκτεταμένων δικαιωμάτων ενός άλλου χρήστη.
iam:CreateLoginProfile
| iam:UpdateLoginProfile
iam:CreateLoginProfile
| iam:UpdateLoginProfile
Επιτρέπει τη δημιουργία ή την ενημέρωση ενός προφίλ σύνδεσης, συμπεριλαμβανομένης της ρύθμισης κωδικών πρόσβασης για τη σύνδεση στον πίνακα ελέγχου του AWS, οδηγώντας σε άμεση ανέλιξη προνομίων.
Εκμετάλλευση για Δημιουργία:
Εκμετάλλευση για την Ενημέρωση:
Επίδραση: Άμεση ανέλιξη προνομίων με την είσοδο ως "οποιοσδήποτε" χρήστης.
iam:UpdateAccessKey
iam:UpdateAccessKey
Επιτρέπει την ενεργοποίηση ενός απενεργοποιημένου κλειδιού πρόσβασης, με δυνητική πρόκληση μη εξουσιοδοτημένης πρόσβασης εάν ο επιτιθέμενος διαθέτει το απενεργοποιημένο κλειδί.
Εκμετάλλευση:
Επίδραση: Άμεση ανέλιξη προνομίων με την επανενεργοποίηση των κλειδιών πρόσβασης.
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
Επιτρέπει τη δημιουργία ή την επαναφορά διαπιστευτηρίων για συγκεκριμένες υπηρεσίες του AWS (π.χ. CodeCommit, Amazon Keyspaces), κληρονομώντας τα δικαιώματα του σχετιζόμενου χρήστη.
Εκμετάλλευση για τη Δημιουργία:
Εκμετάλλευση για την επαναφορά:
Επίδραση: Άμεση ανέλιξη προνομίων εντός των δικαιωμάτων υπηρεσίας του χρήστη.
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
Επιτρέπει την επισύναψη πολιτικών σε χρήστες ή ομάδες, ανεβάζοντας άμεσα τα προνόμια με την κληρονομικότητα των δικαιωμάτων της επισυναπτόμενης πολιτικής.
Εκμετάλλευση για τον Χρήστη:
Εκμετάλλευση για την Ομάδα:
Επίδραση: Άμεση ανέλιξη προνομίων σε οτιδήποτε παρέχει η πολιτική.
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
Επιτρέπει την επισύναψη ή την τοποθέτηση πολιτικών σε ρόλους, χρήστες ή ομάδες, επιτρέποντας άμεση ανέλιξη προνομίων με τη χορήγηση επιπλέον δικαιωμάτων.
Εκμετάλλευση για τον Ρόλο:
Εκμεταλλευτείτε για τις Ενσωματωμένες Πολιτικές:
An inline policy is a policy that is directly attached to an IAM user, group, or role. It is defined within the same JSON document as the user, group, or role.
Μια ενσωματωμένη πολιτική είναι μια πολιτική που είναι απευθείας συνδεδεμένη με έναν χρήστη, ομάδα ή ρόλο IAM. Ορίζεται εντός του ίδιου JSON εγγράφου με τον χρήστη, την ομάδα ή τον ρόλο.
Inline policies can be exploited by an attacker to escalate their privileges within an AWS environment. By modifying the JSON document of an IAM user, group, or role, an attacker can add or modify permissions to gain unauthorized access to resources or perform actions beyond their intended privileges.
Οι ενσωματωμένες πολιτικές μπορούν να εκμεταλλευτούν από έναν επιτιθέμενο για να αυξήσει τα προνόμιά του εντός ενός περιβάλλοντος AWS. Με την τροποποίηση του JSON εγγράφου ενός χρήστη, μιας ομάδας ή ενός ρόλου IAM, ένας επιτιθέμενος μπορεί να προσθέσει ή να τροποποιήσει δικαιώματα για να αποκτήσει μη εξουσιοδοτημένη πρόσβαση σε πόρους ή να εκτελέσει ενέργειες πέρα από τα προνόμια που του επιτρέπονται.
To exploit an inline policy, an attacker needs to have the necessary permissions to modify the JSON document. This can be achieved by compromising an IAM user or role with the required permissions or by exploiting other vulnerabilities in the AWS environment.
Για να εκμεταλλευτεί έναν ενσωματωμένο κανονισμό, ένας επιτιθέμενος χρειάζεται να έχει τα απαραίτητα δικαιώματα για να τροποποιήσει το JSON έγγραφο. Αυτό μπορεί να επιτευχθεί με τον συμβιβασμό ενός χρήστη ή ρόλου IAM με τα απαιτούμενα δικαιώματα ή με την εκμετάλλευση άλλων ευπαθειών στο περιβάλλον AWS.
Μπορείτε να χρησιμοποιήσετε μια πολιτική όπως:
Επίδραση: Άμεση ανέλιξη προνομίων με την προσθήκη δικαιωμάτων μέσω πολιτικών.
iam:AddUserToGroup
iam:AddUserToGroup
Επιτρέπει την προσθήκη του εαυτού σας σε μια ομάδα IAM, ανεβάζοντας τα προνόμια με την κληρονομικότητα των δικαιωμάτων της ομάδας.
Εκμετάλλευση:
Επίδραση: Άμεση ανέλιξη προνομίων στο επίπεδο των δικαιωμάτων της ομάδας.
iam:UpdateAssumeRolePolicy
iam:UpdateAssumeRolePolicy
Επιτρέπει την τροποποίηση του εγγράφου πολιτικής αναλαμβάνοντας ρόλο για έναν ρόλο, επιτρέποντας την ανάληψη του ρόλου και των συναφών δικαιωμάτων του.
Εκμετάλλευση:
Όταν η πολιτική φαίνεται όπως παρακάτω, η οποία δίνει στον χρήστη την άδεια να υποθέσει τον ρόλο:
Επίδραση: Άμεση ανόδος δικαιωμάτων με την υπόθεση των δικαιωμάτων οποιουδήποτε ρόλου.
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
Επιτρέπει το ανέβασμα ενός δημόσιου κλειδιού SSH για την αυθεντικοποίηση στο CodeCommit και την απενεργοποίηση συσκευών MFA, οδηγώντας σε πιθανή έμμεση ανόδο δικαιωμάτων.
Εκμετάλλευση για το ανέβασμα κλειδιού SSH:
Εκμεταλλευτείτε για την απενεργοποίηση του MFA:
Replace <IAM_USER_NAME>
with the username of the IAM user and <MFA_SERIAL_NUMBER>
with the serial number of the MFA device associated with the user. 5. Verify that MFA has been successfully disabled by attempting to log in without the MFA code.
Αντικαταστήστε το <IAM_USER_NAME>
με το όνομα χρήστη του χρήστη IAM και το <MFA_SERIAL_NUMBER>
με τον αριθμό σειράς της συσκευής MFA που συσχετίζεται με τον χρήστη. 5. Επαληθεύστε ότι το MFA έχει απενεργοποιηθεί με επιτυχία δοκιμάζοντας να συνδεθείτε χωρίς τον κωδικό MFA.
Επίδραση: Έμμεση ανέλιξη προνομιακών δικαιωμάτων μέσω ενεργοποίησης πρόσβασης στο CodeCommit ή απενεργοποίησης προστασίας MFA.
iam:ResyncMFADevice
iam:ResyncMFADevice
Επιτρέπει την επανασυγχρονισμό ενός συσκευής MFA, με δυνατότητα έμμεσης ανέλιξης προνομιακών δικαιωμάτων μέσω της παραπλάνησης της προστασίας MFA.
Εντολή Bash:
Επίδραση: Έμμεση ανέλιξη προνομιακών δικαιωμάτων με την προσθήκη ή την τροποποίηση συσκευών MFA.
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)Με αυτές τις άδειες μπορείτε να αλλάξετε τα μεταδεδομένα XML της σύνδεσης SAML. Έπειτα, μπορείτε να καταχραστείτε τη συνομοσπονδία SAML για να συνδεθείτε με οποιονδήποτε ρόλο εμπιστεύεται αυτήν.
Σημειώστε ότι κατά την εκτέλεση αυτής της ενέργειας, οι νόμιμοι χρήστες δεν θα μπορούν να συνδεθούν. Ωστόσο, μπορείτε να λάβετε το XML, έτσι ώστε να μπορείτε να το αντικαταστήσετε με το δικό σας, να συνδεθείτε και να επαναφέρετε τις προηγούμενες ρυθμίσεις.
ΕΡΓΑΛΕΙΟ: Ένα εργαλείο που μπορεί να δημιουργήσει τα μεταδεδομένα SAML και να συνδεθεί με έναν καθορισμένο ρόλο
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)(Αβέβαιος για αυτό) Αν ένας επιτιθέμενος έχει αυτές τις άδειες, μπορεί να προσθέσει ένα νέο Thumbprint για να καταφέρει να συνδεθεί σε όλους τους ρόλους που εμπιστεύονται τον πάροχο.
Αναφορές
Last updated