Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

CodeBuild

AWS CodeBuild word erken as ’n volledig bestuurde deurlopende integrasie-diens. Die hoofdoel van hierdie diens is om die reeks van bronkode saamstel, toetse uitvoer en die sagteware vir implementering te verpak te outomatiseer. Die voornaamste voordeel wat CodeBuild bied, is dat dit die behoefte van gebruikers om hul build-bedieners te voorsien, te bestuur en op te skaal verminder. Hierdie gerief bestaan omdat die diens self hierdie take bestuur. Essensiële kenmerke van AWS CodeBuild sluit in:

  1. Bestuurde diens: CodeBuild bestuur en skaal die build-bedieners, sodat gebruikers vrygestel word van bedieneronderhoud.
  2. Deurlopende integrasie: Dit integreer met die ontwikkel- en implementeringswerkvloei, en outomatiseer die bou- en toetsfases van die sagtewarevrystellingsproses.
  3. Pakketproduksie: Na die bou- en toetsfases berei dit die sagtewarepakkette voor, sodat dit gereed is vir implementering.

AWS CodeBuild integreer naatloos met ander AWS-dienste, wat die doeltreffendheid en betroubaarheid van die CI/CD (Deurlopende Integrasie/Deurlopende Ontplooiing)-pyplyn verbeter.

Github/Gitlab/Bitbucket Toegangsbewyse

Standaard bron-toegangsbewyse

Dit is die ou opsie waar dit moontlik is om ’n bepaalde toegang (soos ’n Github-token of -app) te konfigureer wat oor codebuild projects gedeel sal word, sodat al die projekte hierdie gekonfigureerde stel toegangsbewyse kan gebruik.

Die gestoorde toegangsbewyse (tokens, wagwoorde…) word deur codebuild bestuur en daar is geen openbare manier om dit vanaf AWS APIs op te haal nie.

Aangepaste bron-toegangsbewyse

Afhangend van die repository platform (Github, Gitlab en Bitbucket) word verskillende opsies voorsien. Maar oor die algemeen sal enige opsie wat vereis dat ’n token of wagwoord gestoor word, dit as ’n geheim in die secrets manager stoor.

Dit laat verskillende codebuild projects toe om verskillende gekonfigureerde toegang tot die verskaffers te gebruik in plaas van net die gekonfigureerde standaardtoegang.

Enumerasie

# 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>

Tip

As jy codebuild:StartBuild het, onthou dat jy dikwels omgewingsveranderlikes tydens die build kan oorskryf (--environment-variables-override). Dit is genoeg vir sekere aanvalle selfs sonder UpdateProject of buildspec overrides (byvoorbeeld: om artifact/upload buckets te herlei om geheime te eksfiltreer, of om taal/runtime omgewingsveranderlikes te misbruik om opdragte uit te voer).

Privesc

Op die volgende bladsy kan jy kyk hoe om codebuild-permissies te misbruik om bevoegdhede te verhoog:

AWS - Codebuild Privesc

Post Exploitation

AWS - CodeBuild Post Exploitation

Unauthenticated Access

AWS - CodeBuild Unauthenticated Access

Verwysings

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks