AWS - Codebuild Enum

Reading time: 4 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

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 <project_name> # Check for creds in env vars

# Builds
aws codebuild list-builds
aws codebuild list-builds-for-project --project-name <p_name>
aws codebuild list-build-batches
aws codebuild list-build-batches-for-project --project-name <p_name>

# Reports
aws codebuild list-reports
aws codebuild describe-test-cases --report-arn <ARN>

Privesc

Na sledećoj stranici možete proveriti kako da zloupotrebite codebuild dozvole za eskalaciju privilegija:

AWS - Codebuild Privesc

Post Exploitation

AWS - CodeBuild Post Exploitation

Unauthenticated Access

AWS - CodeBuild Unauthenticated Access

References

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks