AWS - ECS Post Exploitation

हैकट्रिक्स का समर्थन करें

ECS

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

AWS - ECS Enum

होस्ट IAM रोल्स

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

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

नोड को प्राइवेस्क करना और अन्य कंटेनर क्रेडेंशियल्स और सीक्रेट्स चुराना

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

मौजूदा होस्ट में कंटेनर चलाना

इसके अतिरिक्त, EC2 इंस्टेंस रोल में आम तौर पर पर्याप्त अनुमतियाँ होती हैं कि 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 संभावित API हैं:

# 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 रखेगा जिससे यह छवियाँ डाउनलोड कर सकता है (आप उनमें संवेदनशील जानकारी खोज सकते हैं)।

Last updated