AWS - Glue Privesc
glue
iam:PassRole
, glue:CreateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)
iam:PassRole
, glue:CreateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)이 권한을 가진 사용자는 새로운 AWS 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 작업을 생성하거나 업데이트할 수 있으며, 임의의 Python 코드를 실행할 수 있는 작업을 시작할 수 있습니다. 이를 통해 역방향 쉘을 설정하여 악용할 수 있습니다. 이 역방향 쉘을 사용하여 Glue 작업에 연결된 역할의 IAM 자격 증명을 유출하고, 해당 역할의 권한에 따라 잠재적으로 무단 액세스 또는 조치를 취할 수 있습니다:
잠재적 영향: 지정된 글루 서비스 역할로의 권한 상승.
glue:UpdateJob
glue:UpdateJob
업데이트 권한만 있어도 공격자가 이미 연결된 역할의 IAM 자격 증명을 도난할 수 있습니다.
잠재적 영향: 연결된 글루 서비스 역할로의 권한 상승.
참고 자료
Last updated