AWS - IAM Privesc
IAM
有关 IAM 的更多信息,请查看:
AWS - IAM, Identity Center & SSO Enumiam:CreatePolicyVersion
iam:CreatePolicyVersion
授予创建新 IAM 策略版本的能力,通过使用 --set-as-default
标志绕过 iam:SetDefaultPolicyVersion
权限的需求。这使得定义自定义权限成为可能。
利用命令:
影响: 通过允许对任何资源执行任何操作直接提升权限。
iam:SetDefaultPolicyVersion
iam:SetDefaultPolicyVersion
允许将IAM策略的默认版本更改为另一个现有版本,如果新版本具有更多权限,则可能会提升权限。
Bash Command:
影响: 通过启用更多权限间接提升权限。
iam:CreateAccessKey
iam:CreateAccessKey
允许为其他用户创建访问密钥 ID 和秘密访问密钥,导致潜在的权限提升。
利用:
影响: 通过假设另一个用户的扩展权限直接提升权限。
iam:CreateLoginProfile
| iam:UpdateLoginProfile
iam:CreateLoginProfile
| iam:UpdateLoginProfile
允许创建或更新登录配置文件,包括设置AWS控制台登录密码,从而导致直接权限提升。
创建的利用:
更新的漏洞利用:
影响: 通过以“任何”用户身份登录直接提升权限。
iam:UpdateAccessKey
iam:UpdateAccessKey
允许启用已禁用的访问密钥,如果攻击者拥有已禁用的密钥,可能导致未经授权的访问。
利用:
影响: 通过重新激活访问密钥直接提升权限。
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
允许为特定的AWS服务(例如,CodeCommit,Amazon Keyspaces)生成或重置凭证,继承关联用户的权限。
创建的利用:
重置漏洞利用:
影响: 在用户的服务权限内直接提升权限。
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
允许将策略附加到用户或组,通过继承附加策略的权限直接提升权限。
用户利用:
Exploit for Group:
针对组的利用:
影响: 直接权限提升到策略授予的任何内容。
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
允许将策略附加或放置到角色、用户或组,从而通过授予额外权限实现直接权限提升。
针对角色的利用:
利用 Inline Policies:
你可以使用如下策略:
影响: 通过策略添加权限直接提升权限。
iam:AddUserToGroup
iam:AddUserToGroup
允许将自己添加到一个 IAM 组,通过继承该组的权限来提升权限。
利用:
影响: 直接提升到组权限的级别。
iam:UpdateAssumeRolePolicy
iam:UpdateAssumeRolePolicy
允许更改角色的假设角色策略文档,从而能够假设该角色及其相关权限。
利用:
当策略如下所示时,它赋予用户假设角色的权限:
影响: 通过假设任何角色的权限直接提升权限。
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
允许上传用于验证到CodeCommit的SSH公钥和停用MFA设备,导致潜在的间接权限提升。
SSH密钥上传的利用:
MFA Deactivation Exploit:
利用 MFA 停用漏洞:
影响: 通过启用 CodeCommit 访问或禁用 MFA 保护进行间接权限提升。
iam:ResyncMFADevice
iam:ResyncMFADevice
允许重新同步 MFA 设备,可能通过操纵 MFA 保护导致间接权限提升。
Bash 命令:
影响: 通过添加或操纵MFA设备间接提升权限。
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)有了这些权限,你可以更改SAML连接的XML元数据。然后,你可以滥用SAML联合来登录任何信任它的角色。
请注意,这样做合法用户将无法登录。但是,你可以获取XML,这样你可以放入自己的,登录并重新配置之前的设置。
TODO: 一个能够生成SAML元数据并使用指定角色登录的工具
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)(不确定)如果攻击者拥有这些权限,他可以添加一个新的Thumbprint,以便登录所有信任该提供者的角色。
参考资料
Last updated