AWS - Codepipeline Privesc

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: 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, επομένως μπορείτε να τους συμβιβάσετε.

Εκτός από τα προηγούμενα permissions θα χρειαστείτε πρόσβαση στο μέρος όπου αποθηκεύεται ο κώδικας (S3, ECR, github, bitbucket…)

Το δοκίμασα κάνοντας τη διαδικασία στη web σελίδα — τα permissions που αναφέρθηκαν προηγουμένως δεν είναι τα List/Get ones που απαιτούνται για να δημιουργήσετε ένα codepipeline, αλλά για να το δημιουργήσετε μέσω web θα χρειαστείτε επίσης: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

Κατά τη δημιουργία του build project μπορείτε να καθορίσετε μια command to run (rev shell?) και να τρέξετε το build στάδιο ως privileged user — αυτή είναι η ρύθμιση που χρειάζεται ο attacker για να συμβιβάσει το περιβάλλον:

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

Μπορεί να είναι δυνατό να τροποποιήσετε τον role που χρησιμοποιείται και την εντολή που εκτελείται σε ένα codepipeline με τα προηγούμενα permissions.

codepipeline:pollforjobs

AWS mentions:

Όταν καλείται αυτό το API, το CodePipeline επιστρέφει προσωρινά διαπιστευτήρια για το S3 bucket που χρησιμοποιείται για την αποθήκευση artifacts για το pipeline, εάν η δράση απαιτεί πρόσβαση σε αυτό το S3 bucket για input ή output artifacts. Αυτό το API επίσης επιστρέφει οποιεσδήποτε μυστικές τιμές ορίζονται για τη δράση.

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks