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 命令:
影响: 通过启用更多权限进行间接权限提升。
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
允许将策略附加到用户或组,通过继承附加策略的权限直接提升特权。
用户利用:
针对组的利用:
影响: 直接提升到策略所授予的任何权限。
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
允许将策略附加或放置到角色、用户或组,从而通过授予额外权限实现直接的权限提升。
角色利用:
利用内联策略:
您可以使用如下策略:
影响: 通过策略添加权限直接提升权限。
iam:AddUserToGroup
iam:AddUserToGroup
允许将自己添加到IAM组中,通过继承组的权限来提升权限。
利用:
影响: 直接提升到该组权限的级别。
iam:UpdateAssumeRolePolicy
iam:UpdateAssumeRolePolicy
允许更改角色的假设角色策略文档,从而启用角色及其相关权限的假设。
利用:
当策略看起来如下所示时,它授予用户假设角色的权限:
影响: 通过假设任何角色的权限进行直接权限提升。
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
允许上传用于身份验证到 CodeCommit 的 SSH 公钥和停用 MFA 设备,可能导致间接权限提升。
SSH 密钥上传的利用:
利用 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
)(不确定)如果攻击者拥有这些 权限,他可以添加一个新的 指纹 来管理登录所有信任该提供者的角色。
参考文献
Last updated