AWS - Codestar Privesc
Reading time: 4 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
Codestar
आप codestar के बारे में अधिक जानकारी यहाँ पा सकते हैं:
codestar:CreateProject, codestar:AssociateTeamMember
iam:PassRole
, codestar:CreateProject
इन अनुमतियों के साथ आप एक codestar IAM भूमिका का दुरुपयोग कर सकते हैं ताकि मनमाने कार्य को cloudformation टेम्पलेट के माध्यम से किया जा सके। कृपया निम्नलिखित पृष्ठ देखें:
iam:PassRole, codestar:CreateProject
codestar:CreateProject
, codestar:AssociateTeamMember
यह तकनीक codestar:CreateProject
का उपयोग करके एक codestar प्रोजेक्ट बनाने के लिए है, और codestar:AssociateTeamMember
का उपयोग करके एक IAM उपयोगकर्ता को एक नए CodeStar प्रोजेक्ट का स्वामी बनाने के लिए है, जो उन्हें कुछ अतिरिक्त अनुमतियों के साथ एक नई नीति प्रदान करेगा।
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 नीति में प्रिवेस्क। आप उस नीति का एक उदाहरण यहाँ पा सकते हैं:
codestar:CreateProject, codestar:AssociateTeamMember
codestar:CreateProjectFromTemplate
- एक नया प्रोजेक्ट बनाएं:
- एक नए प्रोजेक्ट के निर्माण की प्रक्रिया शुरू करने के लिए
codestar:CreateProjectFromTemplate
क्रिया का उपयोग करें। - सफल निर्माण पर,
cloudformation:UpdateStack
के लिए स्वचालित रूप से पहुंच दी जाती है। - यह पहुंच विशेष रूप से
CodeStarWorker-<generic project name>-CloudFormation
IAM भूमिका से संबंधित एक स्टैक को लक्षित करती है।
- लक्षित स्टैक को अपडेट करें:
- दी गई CloudFormation अनुमतियों के साथ, निर्दिष्ट स्टैक को अपडेट करने की प्रक्रिया शुरू करें।
- स्टैक का नाम आमतौर पर दो पैटर्न में से एक के अनुसार होगा:
awscodestar-<generic project name>-infrastructure
awscodestar-<generic project name>-lambda
- सटीक नाम चुने गए टेम्पलेट पर निर्भर करता है (उदाहरण शोषण स्क्रिप्ट का संदर्भ लें)।
- पहुँच और अनुमतियाँ:
- अपडेट के बाद, आपको स्टैक से जुड़े 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 भूमिका में प्रिवेस्क।
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।