AWS - Codepipeline Privesc

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS रेड टीम एक्सपर्ट)!

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

कोडपाइपलाइन

कोडपाइपलाइन के बारे में अधिक जानकारी के लिए देखें:

pageAWS - DataPipeline, CodePipeline & CodeCommit Enum

iam:PassRole, codepipeline:CreatePipeline, codebuild:CreateProject, codepipeline:StartPipelineExecution

कोड पाइपलाइन बनाते समय आप एक कोडपाइपलाइन IAM रोल निर्दिष्ट कर सकते हैं, इसलिए आप उन्हें कंप्रोमाइज कर सकते हैं।

पिछली अनुमतियों के अलावा आपको कोड संग्रहित स्थान तक पहुंच की आवश्यकता होगी (S3, ECR, github, bitbucket...)

मैंने इसे वेब पेज में प्रक्रिया करके टेस्ट किया, पहले संकेतित अनुमतियाँ कोडपाइपलाइन बनाने के लिए आवश्यक नहीं हैं, लेकिन इसे वेब में बनाने के लिए आपको भी चाहिएगा: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

बिल्ड प्रोजेक्ट बनाते समय आप एक कमांड चलाने का संकेत दे सकते हैं (रिवर्स शैल?) और बिल्ड फेज को विशेषाधिकारी उपयोगकर्ता के रूप में चलाने के लिए, यह हैकर को कंप्रोमाइज करने की आवश्यकता है:

?codebuild:UpdateProject, codepipeline:UpdatePipeline, codepipeline:StartPipelineExecution

पिछली अनुमतियों के साथ कोडपाइपलाइन पर उपयोग किए जाने वाले रोल और कमांड को संशोधित करना संभव हो सकता है।

codepipeline:pollforjobs

AWS उल्लेख करता है:

जब इस API को कॉल किया जाता है, CodePipeline उस S3 बकेट के लिए अस्थायी प्रमाणिकरण वापस करता है जिसका उपयोग पाइपलाइन के लिए आर्टिफैक्ट संग्रहित करने के लिए किया जाता है, यदि क्रिया को उस S3 बकेट तक पहुंच की आवश्यकता होती है इनपुट या आउटपुट आर्टिफैक्ट के लिए। यह API भी क्रिया के लिए परिभाषित किए गए किसी भी गोपनीय मूल्यों को वापस करता है

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS रेड टीम एक्सपर्ट)!

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

Last updated