AWS - SSM Privesc
SSM
有关SSM的更多信息,请查看:
AWS - EC2, EBS, ELB, SSM, VPC & VPN Enumssm:SendCommand
ssm:SendCommand
拥有**ssm:SendCommand
权限的攻击者可以在运行Amazon SSM代理的实例中执行命令**,并妥协运行其中的IAM角色。
在已经遭到入侵的 EC2 实例内部提升权限时,您可以使用以下命令在本地捕获反向 shell:
潜在影响: 直接提升权限至运行中带有运行SSM代理的EC2 IAM角色。
ssm:StartSession
ssm:StartSession
拥有**ssm:StartSession
权限的攻击者可以在运行Amazon SSM代理的实例中启动类似SSH的会话**,并危害其中运行的IAM角色。
要启动会话,您需要安装 SessionManagerPlugin:https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
潜在影响: 直接提升权限以访问运行中带有运行 SSM 代理的 EC2 IAM 角色。
ECS 提权
当 ECS 任务 使用 ExecuteCommand
启用 运行时,具有足够权限的用户可以使用 ecs execute-command
在容器内部执行命令。
根据文档,这是通过在启动“exec”命令的设备和带有 SSM 会话管理器的目标容器之间创建安全通道来完成的(必须安装 SSM 会话管理器插件)。
因此,具有 ssm:StartSession
权限的用户将能够通过运行以下命令在启用该选项的 ECS 任务内部获取 shell:
潜在影响: 直接提升至运行具有启用ExecuteCommand
的ECS
IAM角色的任务。
ssm:ResumeSession
ssm:ResumeSession
拥有权限**ssm:ResumeSession
的攻击者可以在运行Amazon SSM代理的实例中重新启动类似SSH的会话**,当SSM会话状态断开时,并危及其中运行的IAM角色。
潜在影响: 直接提升权限至运行实例附加的 EC2 IAM 角色,当 SSM 代理运行并断开会话时。
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)具有上述权限的攻击者将能够列出 SSM 参数 并以明文形式读取。在这些参数中,您经常可以找到诸如 SSH 密钥或 API 密钥等敏感信息。
潜在影响: 查找参数中的敏感信息。
ssm:ListCommands
ssm:ListCommands
拥有此权限的攻击者可以列出所有发送的命令,并希望在其中找到敏感信息。
潜在影响: 查找命令行中的敏感信息。
ssm:GetCommandInvocation
,(ssm:ListCommandInvocations
| ssm:ListCommands
)
ssm:GetCommandInvocation
,(ssm:ListCommandInvocations
| ssm:ListCommands
)拥有这些权限的攻击者可以列出所有发送的命令并读取生成的输出,希望能在其中找到敏感信息。
潜在影响: 在命令行输出中查找敏感信息。
Codebuild
您还可以使用SSM进入正在构建的codebuild项目:
AWS - Codebuild PrivescLast updated