AWS - Codepipeline Privesc

Reading time: 3 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 का समर्थन करें

codepipeline

For more info about codepipeline check:

AWS - DataPipeline, CodePipeline & CodeCommit Enum

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

जब आप एक code pipeline बनाते हैं, आप एक codepipeline IAM Role to run निर्दिष्ट कर सकते हैं, इसलिए आप उन roles को compromise कर सकते हैं।

पिछले permissions के अलावा आपको access to the place where the code is stored (S3, ECR, github, bitbucket...) की आवश्यकता होगी।

मैंने इसे web page पर करके टेस्ट किया। पहले बताई गई permissions वे List/Get ones नहीं हैं जो codepipeline बनाने के लिए चाहिए, लेकिन web पर इसे बनाने के लिए आपको साथ में ये भी चाहिए होंगे: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

During the creation of the build project you can indicate a command to run (rev shell?) and to run the build phase as privileged user, that's the configuration the attacker needs to compromise:

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

पिछले permissions के साथ codepipeline पर उपयोग किए गए role और चलाए जाने वाले command को modify करना संभव हो सकता है।

codepipeline:pollforjobs

AWS mentions:

जब इस API को कॉल किया जाता है, CodePipeline वह S3 bucket के लिए अस्थायी credentials लौटाता है जिसका उपयोग pipeline के artifacts को स्टोर करने के लिए किया जाता है, यदि उस action को इनपुट या आउटपुट artifacts के लिए उस S3 bucket तक access की आवश्यकता है। यह API action के लिए परिभाषित किसी भी secret values को भी लौटाता है।

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 का समर्थन करें