AWS - Glue Privesc
glue
iam:PassRole
, glue:CreateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)
iam:PassRole
, glue:CreateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)拥有这些权限的用户可以设置新的AWS Glue开发端点,并将一个现有的可被Glue假定的服务角色与特定权限分配给此端点。
设置完成后,攻击者可以SSH进入端点的实例,并窃取被分配角色的IAM凭据:
为了隐蔽起见,建议在Glue虚拟机内部使用IAM凭据。
潜在影响: 特权升级到指定的Glue服务角色。
glue:UpdateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)
glue:UpdateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)拥有此权限的用户可以更改现有Glue开发端点的SSH密钥,启用对其的SSH访问。这使得攻击者可以以端点附加角色的权限执行命令:
潜在影响: 特权升级至使用的Glue服务角色。
iam:PassRole
, (glue:CreateJob
| glue:UpdateJob
), (glue:StartJobRun
| glue:CreateTrigger
)
iam:PassRole
, (glue:CreateJob
| glue:UpdateJob
), (glue:StartJobRun
| glue:CreateTrigger
)具有**iam:PassRole
结合glue:CreateJob
或glue:UpdateJob
,以及glue:StartJobRun
或glue:CreateTrigger
的用户可以创建或更新AWS Glue作业**,附加任何Glue服务帐户,并启动作业的执行。作业的功能包括运行任意Python代码,可以利用它来建立一个反向shell。然后可以利用这个反向shell来窃取附加到Glue作业的角色的IAM凭证,从而导致潜在的未经授权访问或基于该角色权限的操作:
潜在影响: 特权升级至指定的Glue服务角色。
glue:UpdateJob
glue:UpdateJob
仅具有更新权限,攻击者就可以窃取已附加角色的IAM凭据。
潜在影响: 特权升级至已附加的Glue服务角色。
参考
Last updated