权限提升
影子管理员Shadow Admin
一旦您有权访问云用户,您需要查看是否可以升级您的权限。 在云中,权限提升是通过 IAM 完成的,通常是由具有某些权限集的用户引起的。 在 AWS 中,有 21 个公知的 IAM 权限可用于提权。
● https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/iam:CreatePolicyVersion
iam:CreatePolicyVersion 权限允许用户创建现有策略的新版本,如果您的用户附加了策略,您可以将“操作”更改为“*”,将“资源”更改为“*”,这样您就可以访问所有内容
如:
"Action": "iam:CreatePolicyVersion" 改为"Action": "iam:*"
"Resource": "arn:aws:iam::*:policy/*"改为"Resource": "*"
最后,您可以使用以下命令更新您的策略,为您提供管理员级别的访问权限:aws iam create-policy-version –policy-arn target_policy_arn –policy-document file://path/to/administrator/policy.json –set-as-default
iam:SetDefaultPolicyVersion2
如果管理员不小心赋予了策略过多的权限,他们可能会使用权限较少的版本更新策略。具有 iam:SetDefaultPolicyVersion2 的用户可以选择哪个版本的策略处于活动状态。这允许用户通过激活具有更高权限的旧版本策略来潜在地提升他们的权限。例如,如果策略的版本 1 具有比版本 2 更高的权限,我们可以将策略回滚到版本 1,从而为该用户提供更高的权限,如下所示
> aws iam set-default-policy-version --policy-arn arn:aws:iam::1231124:policy/VulnerablePolicy --version-id v1iam:PassRole and ec2:RunInstances
如果用户具有 PassRole 和 RunInstances 权限,他们可以将权限提升到另一个角色。 PassRole 权限允许用户将角色传递给另一个 AWS 资源。请记住,角色可以被认为是机器等资源可以使用的用户,并且具有自己的权限集。接下来,RuneInstances 权限允许我们运行资源,特别是虚拟机 AKA EC2 实例。
"Action":["iam:PassRole","ec2":RunInstances]
首先,您需要找到一个您也想升级的角色。 获得目标角色后,您需要启动一个附加了目标角色的 EC2 实例。 最后通过 SSH 进入 EC2 实例并查询元数据服务以窃取目标的 AWS 令牌。 使用以下命令创建附加了目标角色“admin”的 EC2 实例:
> aws ec2 run-instances --image-id ami-1de55d875628d2fe0 --instance-type t2.micro --iam-instance-profile Name=admin --key-name "Public" --security-group-ids sg-c91s2ae8 --region us-east-1
实例启动可能需要几分钟时间,但一旦启动,您可以 SSH 进入并点击元数据服务iam: CreateAccessKey
iam:CreateLoginProfile
iam:UpdateLoginProfile
iam:AttachUserPolicy
iam:AttachGroupPolicy
iam:AttachRolePolicy
iam:PutUserPolicy

iam:PutGroupPolicy
iam:PutRolePolicy
iam:AddUserToGroup
最后更新于