# AWS - Codebuild Enum {{#include ../../../banners/hacktricks-training.md}} ## CodeBuild AWS **CodeBuild** se prepoznaje kao **potpuno upravljana usluga kontinuirane integracije**. Primarna svrha ove usluge je automatizacija sekvence kompajliranja izvornog koda, izvršavanja testova i pakovanja softvera za svrhe implementacije. Glavna prednost koju nudi CodeBuild leži u njegovoj sposobnosti da olakša korisnicima potrebu za obezbeđivanjem, upravljanjem i skaliranjem svojih build servera. Ova pogodnost dolazi zato što sama usluga upravlja tim zadacima. Osnovne karakteristike AWS CodeBuild obuhvataju: 1. **Upravljana usluga**: CodeBuild upravlja i skalira build servere, oslobađajući korisnike od održavanja servera. 2. **Kontinuirana integracija**: Integrira se sa razvojnim i implementacionim radnim tokom, automatizujući faze build-a i testiranja procesa objavljivanja softvera. 3. **Proizvodnja paketa**: Nakon faza build-a i testiranja, priprema softverske pakete, čineći ih spremnim za implementaciju. AWS CodeBuild se besprekorno integriše sa drugim AWS uslugama, poboljšavajući efikasnost i pouzdanost CI/CD (Kontinuirana integracija/Kontinuirana implementacija) lanca. ### **Github/Gitlab/Bitbucket akreditivi** #### **Podrazumevani izvorni akreditivi** Ovo je opcija iz prošlosti gde je moguće konfigurisati neke **pristupe** (kao što je Github token ili aplikacija) koji će biti **deljeni među codebuild projektima** tako da svi projekti mogu koristiti ovaj konfigurisani set akreditiva. Skladišteni akreditivi (tokeni, lozinke...) su **upravlja od strane codebuild** i ne postoji javni način da se do njih dođe putem AWS API-ja. #### Prilagođeni izvorni akreditiv U zavisnosti od platforme repozitorijuma (Github, Gitlab i Bitbucket) pružaju se različite opcije. Ali generalno, svaka opcija koja zahteva **smeštanje tokena ili lozinke će ih sačuvati kao tajnu u menadžeru tajni**. To omogućava **različitim codebuild projektima da koriste različite konfigurisane pristupe** provajderima umesto da koriste samo konfigurisani podrazumevani. ### Enumeration ```bash # List external repo creds (such as github tokens) ## It doesn't return the token but just the ARN where it's located aws codebuild list-source-credentials # Projects aws codebuild list-shared-projects aws codebuild list-projects aws codebuild batch-get-projects --names # Check for creds in env vars # Builds aws codebuild list-builds aws codebuild list-builds-for-project --project-name aws codebuild list-build-batches aws codebuild list-build-batches-for-project --project-name # Reports aws codebuild list-reports aws codebuild describe-test-cases --report-arn ``` ### Privesc Na sledećoj stranici možete proveriti kako da **zloupotrebite codebuild dozvole za eskalaciju privilegija**: {{#ref}} ../aws-privilege-escalation/aws-codebuild-privesc.md {{#endref}} ### Post Exploitation {{#ref}} ../aws-post-exploitation/aws-codebuild-post-exploitation/ {{#endref}} ### Unauthenticated Access {{#ref}} ../aws-unauthenticated-enum-access/aws-codebuild-unauthenticated-access.md {{#endref}} ## References - [https://docs.aws.amazon.com/managedservices/latest/userguide/code-build.html](https://docs.aws.amazon.com/managedservices/latest/userguide/code-build.html) {{#include ../../../banners/hacktricks-training.md}}