# AWS - ECR Enum ## AWS - ECR Enum {{#include ../../../banners/hacktricks-training.md}} ### ECR #### Basic Information Amazon **Elastic Container Registry** (Amazon ECR) एक **managed container image registry service** है। यह एक ऐसा वातावरण प्रदान करने के लिए डिज़ाइन किया गया है जहाँ ग्राहक अपने कंटेनर इमेज के साथ अच्छी तरह से ज्ञात इंटरफेस का उपयोग करके बातचीत कर सकते हैं। विशेष रूप से, Docker CLI या किसी भी पसंदीदा क्लाइंट का उपयोग समर्थित है, जो कंटेनर इमेज को पुश, पुल और प्रबंधित करने जैसी गतिविधियों को सक्षम बनाता है। ECR 2 प्रकार की वस्तुओं से मिलकर बना है: **Registries** और **Repositories**। **Registries** हर AWS खाता में 2 रजिस्ट्रियाँ होती हैं: **Private** & **Public**। 1. **Private Registries**: - **Private by default**: Amazon ECR प्राइवेट रजिस्ट्रियों में संग्रहीत कंटेनर इमेज **केवल अधिकृत उपयोगकर्ताओं** के लिए उपलब्ध हैं जो आपके AWS खाते के भीतर हैं या जिन्हें अनुमति दी गई है। - एक **private repository** का URI इस प्रारूप का अनुसरण करता है `.dkr.ecr..amazonaws.com/` - **Access control**: आप **IAM नीतियों** का उपयोग करके अपनी निजी कंटेनर इमेज तक पहुँच को **नियंत्रित** कर सकते हैं, और आप उपयोगकर्ताओं या भूमिकाओं के आधार पर बारीक अनुमति कॉन्फ़िगर कर सकते हैं। - **Integration with AWS services**: Amazon ECR प्राइवेट रजिस्ट्रियाँ अन्य AWS सेवाओं के साथ आसानी से **एकीकृत** की जा सकती हैं, जैसे EKS, ECS... - **Other private registry options**: - Tag immutability कॉलम इसकी स्थिति को सूचीबद्ध करता है, यदि टैग इम्यूटेबिलिटी सक्षम है तो यह **पूर्व-निर्धारित टैग** के साथ इमेज **पुश** को ओवरराइट करने से **रोक देगा**। - **Encryption type** कॉलम रिपॉजिटरी की एन्क्रिप्शन विशेषताओं को सूचीबद्ध करता है, यह डिफ़ॉल्ट एन्क्रिप्शन प्रकार जैसे AES-256 दिखाता है, या **KMS** सक्षम एन्क्रिप्शन है। - **Pull through cache** कॉलम इसकी स्थिति को सूचीबद्ध करता है, यदि Pull through cache स्थिति सक्रिय है तो यह **आपकी निजी रिपॉजिटरी में एक बाहरी सार्वजनिक रिपॉजिटरी में रिपॉजिटरी को कैश करेगा**। - विशिष्ट **IAM नीतियाँ** विभिन्न **अनुमतियों** को देने के लिए कॉन्फ़िगर की जा सकती हैं। - **Scanning configuration** इमेज में भेद्यता के लिए स्कैन करने की अनुमति देता है जो रिपॉजिटरी के अंदर संग्रहीत हैं। 2. **Public Registries**: - **Public accessibility**: ECR Public रजिस्ट्रियों में संग्रहीत कंटेनर इमेज **बिना प्रमाणीकरण के इंटरनेट पर किसी के लिए भी उपलब्ध हैं।** - एक **public repository** का URI इस तरह है `public.ecr.aws//`। हालांकि `` भाग को व्यवस्थापक द्वारा याद रखने में आसान किसी अन्य स्ट्रिंग में बदला जा सकता है। **Repositories** ये **इमेज** हैं जो **private registry** में या **public** में हैं। > [!NOTE] > ध्यान दें कि एक इमेज को रिपॉजिटरी में अपलोड करने के लिए, **ECR रिपॉजिटरी का नाम इमेज के समान होना चाहिए**। #### Registry & Repository Policies **Registries & repositories** के पास **नीतियाँ भी होती हैं जो अन्य प्रिंसिपल/खातों को अनुमतियाँ देने के लिए उपयोग की जा सकती हैं**। उदाहरण के लिए, निम्नलिखित रिपॉजिटरी नीति छवि में आप देख सकते हैं कि कैसे संगठन के पूरे उपयोगकर्ता इमेज तक पहुँच प्राप्त कर सकेंगे:
#### Enumeration ```bash # Get repos aws ecr describe-repositories aws ecr describe-registry # Get image metadata aws ecr list-images --repository-name aws ecr describe-images --repository-name aws ecr describe-image-replication-status --repository-name --image-id aws ecr describe-image-scan-findings --repository-name --image-id aws ecr describe-pull-through-cache-rules --repository-name --image-id # Get public repositories aws ecr-public describe-repositories # Get policies aws ecr get-registry-policy aws ecr get-repository-policy --repository-name ``` #### अनधिकृत Enum {{#ref}} ../aws-unauthenticated-enum-access/aws-ecr-unauthenticated-enum.md {{#endref}} #### प्रिवेस्क अगली पृष्ठ पर आप **ECR अनुमतियों का दुरुपयोग करके विशेषाधिकार बढ़ाने** के तरीके की जांच कर सकते हैं: {{#ref}} ../aws-privilege-escalation/aws-ecr-privesc.md {{#endref}} #### पोस्ट एक्सप्लोइटेशन {{#ref}} ../aws-post-exploitation/aws-ecr-post-exploitation.md {{#endref}} #### स्थिरता {{#ref}} ../aws-persistence/aws-ecr-persistence.md {{#endref}} ## संदर्भ - [https://docs.aws.amazon.com/AmazonECR/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/Welcome.html) {{#include ../../../banners/hacktricks-training.md}}