AWS - CodeBuild Post Exploitation

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

CodeBuild

Για περισσότερες πληροφορίες, δείτε:

AWS - Codebuild Enum

Check Secrets

Εάν credentials έχουν οριστεί στο Codebuild για σύνδεση σε Github, Gitlab ή Bitbucket με τη μορφή personal tokens, passwords ή OAuth token access, αυτά τα credentials θα αποθηκευτούν ως secrets στο secret manager.
Επομένως, αν έχετε πρόσβαση ανάγνωσης του secret manager, θα μπορείτε να αποκτήσετε αυτά τα secrets και να pivot στην συνδεδεμένη πλατφόρμα.

AWS - Secrets Manager Privesc

Abuse CodeBuild Repo Access

Για να διαμορφώσετε το CodeBuild, θα χρειαστεί access στο code repo που πρόκειται να χρησιμοποιήσει. Διάφορες πλατφόρμες μπορούν να φιλοξενούν αυτό το code:

Το CodeBuild project πρέπει να έχει access στον ρυθμισμένο source provider, είτε μέσω IAM role είτε με github/bitbucket token ή OAuth access.

Ένας attacker με elevated permissions σε ένα CodeBuild θα μπορούσε να abuse αυτή την configured πρόσβαση για να leak τον code του ρυθμισμένου repo και άλλων repo στα οποία τα set creds έχουν πρόσβαση.
Για να το κάνει αυτό, ένας attacker χρειάζεται απλώς να αλλάξει το repository URL σε κάθε repo στο οποίο τα config credentials έχουν πρόσβαση (σημειώστε ότι το aws web θα τα εμφανίσει όλα για εσάς):

Και να αλλάξει τα Buildspec commands για να exfiltrate κάθε repo.

Warning

Ωστόσο, αυτή η εργασία είναι επαναλαμβανόμενη και κουραστική και εάν ένας github token είχε ρυθμιστεί με write permissions, ένας attacker δεν θα μπορεί να (ab)use αυτές τις permissions καθώς δεν έχει πρόσβαση στο token.
Ή μήπως έχει; Δείτε την επόμενη ενότητα

Leaking Access Tokens from AWS CodeBuild

Μπορείτε να leak την access που δίνεται στο CodeBuild σε πλατφόρμες όπως Github. Ελέγξτε αν δόθηκε κάποια πρόσβαση σε εξωτερικές πλατφόρμες με:

aws codebuild list-source-credentials

AWS Codebuild - Token Leakage

Αναξιόπιστη εκτέλεση PR μέσω λανθασμένης διαμόρφωσης φίλτρων webhook

Εάν τα φίλτρα webhook είναι αδύναμα, εξωτερικοί επιτιθέμενοι μπορούν να κάνουν build τα PRs τους σε προνομιούχα CodeBuild projects και στη συνέχεια να εκτελέσουν αυθαίρετο κώδικα στο CI.

AWS CodeBuild - Untrusted PR Webhook Bypass (CodeBreach-style)

codebuild:DeleteProject

Ένας επιτιθέμενος θα μπορούσε να διαγράψει ολόκληρο ένα CodeBuild project, προκαλώντας απώλεια της διαμόρφωσης του project και επηρεάζοντας εφαρμογές που βασίζονται σε αυτό.

aws codebuild delete-project --name <value>

Πιθανός Αντίκτυπος: Απώλεια ρυθμίσεων του έργου και διακοπή υπηρεσίας για εφαρμογές που χρησιμοποιούν το διαγραμμένο έργο.

codebuild:TagResource , codebuild:UntagResource

Ένας επιτιθέμενος θα μπορούσε να προσθέσει, να τροποποιήσει ή να αφαιρέσει ετικέτες από πόρους του CodeBuild, διαταράσσοντας την κατανομή κόστους του οργανισμού σας, την παρακολούθηση πόρων και τις πολιτικές ελέγχου πρόσβασης που βασίζονται σε ετικέτες.

aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>

Πιθανός αντίκτυπος: Διαταραχή στην κατανομή κόστους, στην παρακολούθηση πόρων και στις πολιτικές ελέγχου πρόσβασης βάσει tag.

codebuild:DeleteSourceCredentials

Ένας επιτιθέμενος θα μπορούσε να διαγράψει τα source credentials για ένα Git repository, επηρεάζοντας τη σωστή λειτουργία των εφαρμογών που βασίζονται σε αυτό το repository.

aws codebuild delete-source-credentials --arn <value>

Πιθανές επιπτώσεις: Διακοπή της ομαλής λειτουργίας των εφαρμογών που εξαρτώνται από το επηρεασμένο repository λόγω της αφαίρεσης των source credentials.

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