AWS - CodeBuild Post Exploitation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
For more information, check:
AWS - Codebuild EnumIf credentials have been set in Codebuild to connect to Github, Gitlab or Bitbucket in the form of personal tokens, passwords or OAuth token access, these credentials are going to be stored as secrets in the secret manager. Therefore, if you have access to read the secret manager you will be able to get these secrets and pivot to the connected platform.
AWS - Secrets Manager PrivescIn order to configure CodeBuild, it will need access to the code repo that it's going to be using. Several platforms could be hosting this code:
The CodeBuild project must have access to the configured source provider, either via IAM role of with a github/bitbucket token or OAuth access.
An attacker with elevated permissions in over a CodeBuild could abuse this configured access to leak the code of the configured repo and others where the set creds have access. In order to do this, an attacker would just need to change the repository URL to each repo the config credentials have access (note that the aws web will list all of them for you):
And change the Buildspec commands to exfiltrate each repo.
However, this task is repetitive and tedious and if a github token was configured with write permissions, an attacker won't be able to (ab)use those permissions as he doesn't have access to the token. Or does he? Check the next section
You can leak access given in CodeBuild to platforms like Github. Check if any access to external platforms was given with:
codebuild:DeleteProject
Ένας επιτιθέμενος θα μπορούσε να διαγράψει ολόκληρο το έργο CodeBuild, προκαλώντας απώλεια της διαμόρφωσης του έργου και επηρεάζοντας τις εφαρμογές που βασίζονται στο έργο.
Πιθανές Επιπτώσεις: Απώλεια διαμόρφωσης έργου και διακοπή υπηρεσίας για εφαρμογές που χρησιμοποιούν το διαγραμμένο έργο.
codebuild:TagResource
, codebuild:UntagResource
Ένας επιτιθέμενος θα μπορούσε να προσθέσει, να τροποποιήσει ή να αφαιρέσει ετικέτες από τους πόρους του CodeBuild, διαταράσσοντας την κατανομή κόστους της οργάνωσής σας, την παρακολούθηση πόρων και τις πολιτικές ελέγχου πρόσβασης με βάση τις ετικέτες.
Πιθανές Επιπτώσεις: Διαταραχή της κατανομής κόστους, παρακολούθησης πόρων και πολιτικών ελέγχου πρόσβασης με βάση τις ετικέτες.
codebuild:DeleteSourceCredentials
Ένας επιτιθέμενος θα μπορούσε να διαγράψει τα διαπιστευτήρια πηγής για ένα Git αποθετήριο, επηρεάζοντας τη φυσιολογική λειτουργία των εφαρμογών που βασίζονται στο αποθετήριο.
Πιθανές Επιπτώσεις: Διακοπή της κανονικής λειτουργίας για εφαρμογές που βασίζονται στο επηρεαζόμενο αποθετήριο λόγω της αφαίρεσης των διαπιστευτηρίων πηγής.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)