AWS - EMR Privesc
EMR
EMR에 대한 추가 정보는 다음에서 확인할 수 있습니다:
pageAWS - EMR Enumiam:PassRole
, elasticmapreduce:RunJobFlow
iam:PassRole
, elasticmapreduce:RunJobFlow
이러한 권한을 가진 공격자는 EC2 역할을 연결하여 새로운 EMR 클러스터를 실행하고 해당 자격 증명을 도용하려고 시도할 수 있습니다.
이를 위해 계정에 임포트된 일부 ssh 개인 키를 알아야 하거나 하나를 임포트해야 하며, 마스터 노드에서 포트 22를 열 수 있어야 합니다 (--ec2-attributes
내부의 EmrManagedMasterSecurityGroup
및/또는 ServiceAccessSecurityGroup
속성을 사용하여 이를 수행할 수 있을 수도 있습니다).
EMR 역할은 --service-role
에서 지정되고 ec2 역할은 --ec2-attributes
내부의 InstanceProfile
에서 지정됩니다. 그러나 이 기술은 EC2 역할 자격 증명을 도용할 수는 있지만 (ssh를 통해 연결하기 때문에) EMR IAM 역할은 도용할 수 없습니다.
잠재적 영향: 지정된 EC2 서비스 역할로의 권한 상승
elasticmapreduce:CreateEditor
, iam:ListRoles
, elasticmapreduce:ListClusters
, iam:PassRole
, elasticmapreduce:DescribeEditor
, elasticmapreduce:OpenEditorInConsole
elasticmapreduce:CreateEditor
, iam:ListRoles
, elasticmapreduce:ListClusters
, iam:PassRole
, elasticmapreduce:DescribeEditor
, elasticmapreduce:OpenEditorInConsole
이러한 권한을 가진 공격자는 AWS 콘솔로 이동하여 노트북을 생성하고 액세스하여 IAM 역할을 도용할 수 있습니다.
노트북 인스턴스에 IAM 역할을 연결하더라도 제 테스트에서는 AWS 관리 자격 증명을 도용할 수 있었지만 IAM 역할과 관련된 자격 증명을 도용할 수 없었습니다.
잠재적 영향: AWS 관리 역할 arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile로의 권한 상승
elasticmapreduce:OpenEditorInConsole
elasticmapreduce:OpenEditorInConsole
이 권한만으로도 공격자는 Jupyter Notebook에 액세스하여 연결된 IAM 역할을 도용할 수 있습니다.
노트북의 URL은 https://<notebook-id>.emrnotebooks-prod.eu-west-1.amazonaws.com/<notebook-id>/lab/
입니다.
노트북 인스턴스에 IAM 역할을 연결하더라도 제 테스트에서는 AWS 관리 자격 증명을 도용할 수 있었지만 IAM 역할과 관련된 자격 증명을 도용할 수 없었습니다.
잠재적 영향: AWS 관리 역할 arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile로의 권한 상승
最終更新