AWS - ECS Enum

Support HackTricks

ECS

Basic Information

Amazon Elastic Container Services या ECS एक प्लेटफ़ॉर्म प्रदान करता है क्लाउड में कंटेनराइज्ड एप्लिकेशन होस्ट करने के लिए। ECS के दो डिप्लॉयमेंट तरीके हैं, EC2 इंस्टेंस प्रकार और एक सर्वरलेस विकल्प, Fargate। यह सेवा क्लाउड में कंटेनरों को चलाना बहुत आसान और बिना किसी परेशानी के बनाती है

ECS निम्नलिखित तीन निर्माण खंडों का उपयोग करता है: Clusters, Services, और Task Definitions

  • Clusters वे कंटेनरों के समूह हैं जो क्लाउड में चल रहे हैं। जैसा कि पहले उल्लेख किया गया है, कंटेनरों के लिए दो लॉन्च प्रकार हैं, EC2 और Fargate। AWS EC2 लॉन्च प्रकार को इस प्रकार परिभाषित करता है कि यह ग्राहकों को “[उनके] कंटेनराइज्ड एप्लिकेशन को Amazon EC2 इंस्टेंस के एक क्लस्टर पर चलाने की अनुमति देता है जो [वे] प्रबंधित करते हैं”। Fargate समान है और इसे इस प्रकार परिभाषित किया गया है “[आपको] अपने कंटेनराइज्ड एप्लिकेशन को बैकएंड इन्फ्रास्ट्रक्चर को प्रावधान और प्रबंधित करने की आवश्यकता के बिना चलाने की अनुमति देता है”।

  • Services एक क्लस्टर के अंदर बनाई जाती हैं और कार्य चलाने के लिए जिम्मेदार होती हैं। एक सेवा परिभाषा के अंदर आप कार्यों की संख्या, ऑटो स्केलिंग, क्षमता प्रदाता (Fargate/EC2/External), नेटवर्किंग जानकारी जैसे VPC, सबनेट, और सुरक्षा समूहों को परिभाषित करते हैं।

  • वहाँ 2 प्रकार के एप्लिकेशन हैं:

  • Service: कार्यों का एक समूह जो लंबे समय तक चलने वाले कंप्यूटिंग कार्य को संभालता है जिसे रोका और पुनः प्रारंभ किया जा सकता है। उदाहरण के लिए, एक वेब एप्लिकेशन।

  • Task: एक स्वतंत्र कार्य जो चलता है और समाप्त होता है। उदाहरण के लिए, एक बैच कार्य।

  • सेवा एप्लिकेशनों के बीच, 2 प्रकार के सेवा शेड्यूलर हैं:

  • REPLICA: प्रतिकृति शेड्यूलिंग रणनीति आपके क्लस्टर में इच्छित संख्या के कार्यों को रखती और बनाए रखती है। यदि किसी कारणवश कोई कार्य बंद हो जाता है, तो एक नया कार्य उसी या अलग नोड में लॉन्च किया जाता है।

  • DAEMON: आवश्यक आवश्यकताओं वाले प्रत्येक सक्रिय कंटेनर इंस्टेंस पर ठीक एक कार्य तैनात करता है। इच्छित कार्यों की संख्या, कार्य स्थान रणनीति, या सेवा ऑटो स्केलिंग नीतियों को निर्दिष्ट करने की आवश्यकता नहीं है।

  • Task Definitions उन कंटेनरों को परिभाषित करने के लिए जिम्मेदार हैं जो चलेंगे और विभिन्न पैरामीटर जो कंटेनरों के साथ कॉन्फ़िगर किए जाएंगे जैसे पोर्ट मैपिंग होस्ट के साथ, env वेरिएबल, Docker एंट्रीपॉइंट...

  • संवेदनशील जानकारी के लिए env वेरिएबल की जांच करें!

Sensitive Data In Task Definitions

Task definitions उन कंटेनरों को कॉन्फ़िगर करने के लिए जिम्मेदार हैं जो ECS में चलेंगे। चूंकि कार्य परिभाषाएँ यह परिभाषित करती हैं कि कंटेनर कैसे चलेंगे, इसलिए इसमें बहुत सारी जानकारी मिल सकती है।

Pacu ECS को एन्यूमरेट कर सकता है (list-clusters, list-container-instances, list-services, list-task-definitions), यह कार्य परिभाषाएँ भी डंप कर सकता है।

Enumeration

# Clusters info
aws ecs list-clusters
aws ecs describe-clusters --clusters <cluster>

# Container instances
## An Amazon ECS container instance is an Amazon EC2 instance that is running the Amazon ECS container agent and has been registered into an Amazon ECS cluster.
aws ecs list-container-instances --cluster <cluster>
aws ecs describe-container-instances --cluster <cluster> --container-instances <container_instance_arn>

# Services info
aws ecs list-services --cluster <cluster>
aws ecs describe-services --cluster <cluster> --services <services>
aws ecs describe-task-sets --cluster <cluster> --service <service>

# Task definitions
aws ecs list-task-definition-families
aws ecs list-task-definitions
aws ecs list-tasks --cluster <cluster>
aws ecs describe-tasks --cluster <cluster> --tasks <tasks>
## Look for env vars and secrets used from the task definition
aws ecs describe-task-definition --task-definition <TASK_NAME>:<VERSION>

अनधिकृत पहुँच

AWS - ECS Unauthenticated Enum

प्रिवेस्क

अगली पृष्ठ पर आप ECS अनुमतियों का दुरुपयोग करके विशेषाधिकार बढ़ाने के तरीके की जांच कर सकते हैं:

AWS - ECS Privesc

पोस्ट एक्सप्लॉइटेशन

AWS - ECS Post Exploitation

स्थिरता

AWS - ECS Persistence
HackTricks का समर्थन करें

Last updated