AWS - STS Privesc

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)

支持HackTricks的其他方式:

STS

sts:AssumeRole

每个角色都是使用角色信任策略创建的,该策略指示谁可以假定创建的角色。如果来自同一账户的一个角色表示某个账户可以假定它,这意味着该账户将能够访问该角色(并可能提升权限)。

例如,以下角色信任策略指示任何人都可以假定它,因此任何用户都可以提升权限以访问与该角色关联的权限。

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "sts:AssumeRole"
}
]
}

您可以运行以下命令来冒充一个角色:

aws sts assume-role --role-arn $ROLE_ARN --role-session-name sessionname

潜在影响: 特权升级至角色。

请注意,在这种情况下,需要在要滥用的角色中指定权限 sts:AssumeRole,而不是在攻击者拥有的策略中。 有一个例外,为了假扮成来自不同账户的角色,攻击者账户也需要对该角色具有**sts:AssumeRole**权限。

sts:GetFederationToken

通过此权限,可以生成凭据来冒充任何用户:

aws sts get-federation-token --name <username>

这是如何安全地授予此权限而不会给予模拟其他用户访问权限的方法:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sts:GetFederationToken",
"Resource": "arn:aws:sts::947247140022:federated-user/${aws:username}"
}
]
}

sts:AssumeRoleWithSAML

拥有此角色的信任策略授予通过 SAML 认证的用户访问权限来冒充该角色。

具有此权限的信任策略示例为:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "OneLogin",
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::290594632123:saml-provider/OneLogin"
},
"Action": "sts:AssumeRoleWithSAML",
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
}
]
}

要生成凭证以冒充角色,通常可以使用以下方法:

aws sts  assume-role-with-saml --role-arn <value> --principal-arn <value>

提供商可能会有他们自己的工具来简化这个过程,比如onelogin-aws-assume-role

onelogin-aws-assume-role --onelogin-subdomain mettle --onelogin-app-id 283740 --aws-region eu-west-1 -z 3600

潜在影响: 特权升级至角色。

sts:AssumeRoleWithWebIdentity

此权限允许获取一组临时安全凭证,用于已在移动应用程序、Web 应用程序、EKS...中进行身份验证的用户。在此处了解更多。

例如,如果一个 EKS 服务帐号 应能够 冒充一个 IAM 角色,它将在 /var/run/secrets/eks.amazonaws.com/serviceaccount/token 中拥有一个令牌,并可以通过类似以下操作 扮演角色并获取凭证

aws sts assume-role-with-web-identity --role-arn arn:aws:iam::123456789098:role/<role_name> --role-session-name something --web-identity-token file:///var/run/secrets/eks.amazonaws.com/serviceaccount/token
# The role name can be found in the metadata of the configuration of the pod

联合滥用

AWS - Federation Abuse
从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)

支持 HackTricks 的其他方式:

Last updated