AWS - SSM Privesc
SSM
SSM के बारे में अधिक जानकारी के लिए देखें:
ssm:SendCommand
ssm:SendCommand
एक हमलावर जिसके पास अनुमति ssm:SendCommand
है, वह Amazon SSM एजेंट चलाने वाले इंस्टेंस में कमांड निष्पादित कर सकता है और इसके अंदर चल रहे IAM भूमिका को समझौता कर सकता है।
यदि आप पहले से ही समझौता किए गए EC2 उदाहरण के भीतर विशेषाधिकार बढ़ाने के लिए इस तकनीक का उपयोग कर रहे हैं, तो आप बस निम्नलिखित के साथ स्थानीय रूप से रिव शेल कैप्चर कर सकते हैं:
संभावित प्रभाव: चल रहे उदाहरणों के साथ जुड़े EC2 IAM भूमिकाओं पर सीधे प्रिवेस्क।
ssm:StartSession
ssm:StartSession
एक हमलावर जिसके पास अनुमति ssm:StartSession
है, वह Amazon SSM एजेंट चला रहे उदाहरणों में SSH जैसी सत्र शुरू कर सकता है और इसके अंदर चल रही IAM भूमिका को समझौता कर सकता है।
सत्र शुरू करने के लिए आपको SessionManagerPlugin स्थापित करना होगा: https://docs.aws.amazon.com/systems-manager/latest/userguide/install-plugin-macos-overview.html
संभावित प्रभाव: चल रहे उदाहरणों के साथ जुड़े EC2 IAM भूमिकाओं पर सीधे प्रिवेस्क।
ECS पर प्रिवेस्क
जब ECS कार्य ExecuteCommand
सक्षम होते हैं, तो पर्याप्त अनुमतियों वाले उपयोगकर्ता ecs execute-command
का उपयोग करके कंटेनर के अंदर एक कमांड निष्पादित कर सकते हैं।
दस्तावेज़ के अनुसार, यह उस उपकरण के बीच एक सुरक्षित चैनल बनाकर किया जाता है जिसका उपयोग आप “exec“ कमांड शुरू करने के लिए करते हैं और लक्षित कंटेनर के साथ SSM सत्र प्रबंधक। (इस कार्य के लिए SSM सत्र प्रबंधक प्लगइन आवश्यक है)
इसलिए, ssm:StartSession
वाले उपयोगकर्ता उस विकल्प को सक्षम करके ECS कार्यों के अंदर एक शेल प्राप्त कर सकेंगे, बस चलाकर:
संभावित प्रभाव: ExecuteCommand
सक्षम चल रहे कार्यों से जुड़े ECS
IAM भूमिकाओं के लिए सीधे प्रिवेस्क।
ssm:ResumeSession
ssm:ResumeSession
एक हमलावर जिसके पास अनुमति ssm:ResumeSession
है, वह Amazon SSM एजेंट के साथ चल रहे उदाहरणों में SSH जैसी सत्र को फिर से शुरू कर सकता है जिसमें अविच्छेदित SSM सत्र स्थिति है और इसके अंदर चल रही IAM भूमिका को समझौता कर सकता है।
संभावित प्रभाव: चल रहे उदाहरणों के साथ जुड़े EC2 IAM भूमिकाओं पर सीधे प्रिवेस्क के लिए SSM एजेंट चल रहे हैं और डिस्कनेक्टेड सत्र।
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)
ssm:DescribeParameters
, (ssm:GetParameter
| ssm:GetParameters
)उपरोक्त अनुमतियों के साथ एक हमलावर SSM पैरामीटर की सूची बनाने और उन्हें स्पष्ट पाठ में पढ़ने में सक्षम होगा। इन पैरामीटर में आप अक्सर संवेदनशील जानकारी जैसे SSH कुंजी या API कुंजी पा सकते हैं।
संभावित प्रभाव: पैरामीटर के अंदर संवेदनशील जानकारी खोजें।
ssm:ListCommands
ssm:ListCommands
इस अनुमति के साथ एक हमलावर सभी कमांड सूचीबद्ध कर सकता है और उम्मीद है कि उन पर संवेदनशील जानकारी पाएगा।
संभावित प्रभाव: कमांड लाइनों के अंदर संवेदनशील जानकारी खोजें।
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)
ssm:GetCommandInvocation
, (ssm:ListCommandInvocations
| ssm:ListCommands
)इन अनुमतियों के साथ एक हमलावर सभी कमांड की सूची बना सकता है और आउटपुट को पढ़ सकता है, उम्मीद है कि इसमें संवेदनशील जानकारी मिलेगी।
संभावित प्रभाव: कमांड लाइनों के आउटपुट के अंदर संवेदनशील जानकारी खोजें।
Codebuild
आप SSM का उपयोग करके एक कोडबिल्ड प्रोजेक्ट में भी जा सकते हैं जो बनाया जा रहा है:
Last updated