AWS - ECS Post Exploitation

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

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

ECS

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

pageAWS - ECS Enum

Host IAM Roles

ECS में एक IAM रोल को टास्क को असाइन किया जा सकता है जो कंटेनर के अंदर चल रहा होता है। यदि टास्क EC2 इंस्टेंस के अंदर चलाया जाता है, तो EC2 इंस्टेंस के पास एक और IAM रोल होगा जो उससे जुड़ा होता है। इसका मतलब है कि यदि आप ECS इंस्टेंस को कम्प्रोमाइज करने में सफल होते हैं, तो आप ECR और EC2 इंस्टेंस से जुड़े IAM रोल प्राप्त कर सकते हैं। इन क्रेडेंशियल्स को प्राप्त करने के बारे में अधिक जानकारी के लिए देखें:

ध्यान दें कि यदि EC2 इंस्टेंस IMDSv2 को लागू कर रहा है, डॉक्स के अनुसार, PUT अनुरोध का प्रतिसाद में हॉप लिमिट 1 होगी, जिससे EC2 इंस्टेंस के अंदर के कंटेनर से EC2 मेटाडेटा तक पहुंचना असंभव हो जाएगा।

Privesc to node to steal other containers creds & secrets

इसके अलावा, EC2 डॉकर का उपयोग करके ECs टास्क्स चलाता है, इसलिए यदि आप नोड से बाहर निकल सकते हैं या डॉकर सॉकेट तक पहुंच सकते हैं, तो आप जांच सकते हैं कि कौन से अन्य कंटेनर्स चल रहे हैं, और यहां तक कि उनके अंदर जाकर उनके IAM रोल्स चुरा सकते हैं।

Making containers run in current host

इसके अतिरिक्त, EC2 इंस्टेंस रोल आमतौर पर क्लस्टर के अंदर नोड्स के रूप में उपयोग किए जा रहे EC2 इंस्टेंसेस के कंटेनर इंस्टेंस स्टेट को अपडेट करने की पर्याप्त अनुमतियां रखता है। एक हमलावर इंस्टेंस की स्थिति को DRAINING में बदल सकता है, फिर ECS उससे सभी टास्क्स को हटा देगा और जो REPLICA के रूप में चल रहे हैं वे एक अलग इंस्टेंस में चलाए जाएंगे, संभवतः हमलावर के इंस्टेंस के अंदर ताकि वह उनके IAM रोल्स चुरा सके और कंटेनर के अंदर से संवेदनशील जानकारी प्राप्त कर सके।

aws ecs update-container-instances-state \
--cluster <cluster> --status DRAINING --container-instances <container-instance-id>

यही तकनीक क्लस्टर से EC2 इंस्टेंस को डीरजिस्टर करके भी की जा सकती है। यह संभवतः कम गुप्त हो सकता है लेकिन यह अन्य इंस्टेंसेज में टास्क्स को चलाने के लिए मजबूर करेगा:

aws ecs deregister-container-instance \
--cluster <cluster> --container-instance <container-instance-id> --force

अंतिम तकनीक जो कार्यों के पुन: निष्पादन को मजबूर करती है, वह है ECS को संकेत देना कि कार्य या कंटेनर रोक दिया गया था। इसे करने के लिए 3 संभावित APIs हैं:

# Needs: ecs:SubmitTaskStateChange
aws ecs submit-task-state-change --cluster <value> \
--status STOPPED --reason "anything" --containers [...]

# Needs: ecs:SubmitContainerStateChange
aws ecs submit-container-state-change ...

# Needs: ecs:SubmitAttachmentStateChanges
aws ecs submit-attachment-state-changes ...

ECR कंटेनरों से संवेदनशील जानकारी चुराएं

EC2 इंस्टेंस के पास संभवतः ecr:GetAuthorizationToken अनुमति भी होगी जो इसे इमेजेस डाउनलोड करने की अनुमति देती है (आप उनमें संवेदनशील जानकारी की खोज कर सकते हैं)।

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

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

Last updated