AWS - CodeBuild Post Exploitation

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

Za više informacija, proverite:

AWS - Codebuild Enum

Proverite Tajne

Ako su kredencijali postavljeni u Codebuild za povezivanje sa Github, Gitlab ili Bitbucket u obliku ličnih tokena, lozinki ili OAuth token pristupa, ove kredencijale će biti sačuvane kao tajne u menadžeru tajni.
Stoga, ako imate pristup za čitanje menadžera tajni, moći ćete da dobijete ove tajne i pređete na povezanu platformu.

AWS - Secrets Manager Privesc

Zloupotreba Pristupa CodeBuild Repo-u

Da bi se konfigurisao CodeBuild, biće mu potreban pristup kod repozitorijumu koji će koristiti. Nekoliko platformi može hostovati ovaj kod:

CodeBuild projekat mora imati pristup konfigurisanoj izvornoj platformi, bilo putem IAM uloge ili sa github/bitbucket tokenom ili OAuth pristupom.

Napadač sa povišenim dozvolama u CodeBuild-u mogao bi zloupotrebiti ovaj konfigurisani pristup da otkrije kod konfigurisane repozitorije i druge gde postavljeni kredencijali imaju pristup.
Da bi to uradio, napadač bi samo trebao da promeni URL repozitorijuma na svaki repozitorijum kojem konfigurisani kredencijali imaju pristup (napomena: aws web će ih sve navesti za vas):

I promeni Buildspec komande da eksfiltrira svaki repozitorijum.

warning

Međutim, ovaj zadatak je ponavljajući i zamoran i ako je github token konfiguran sa dozvolama za pisanje, napadač neće moći da (zloupotrebi) te dozvole jer nema pristup tokenu.
Ili možda ima? Proverite sledeću sekciju

Otkriće Pristupnih Tokena iz AWS CodeBuild

Možete otkriti pristup dat u CodeBuild platformama kao što je Github. Proverite da li je bilo datog pristupa spoljnim platformama sa:

bash
aws codebuild list-source-credentials

AWS Codebuild - Token Leakage

codebuild:DeleteProject

Napadač bi mogao da obriše ceo CodeBuild projekat, uzrokujući gubitak konfiguracije projekta i utičući na aplikacije koje se oslanjaju na projekat.

bash
aws codebuild delete-project --name <value>

Potencijalni uticaj: Gubitak konfiguracije projekta i prekid usluge za aplikacije koje koriste obrisani projekat.

codebuild:TagResource , codebuild:UntagResource

Napadač bi mogao dodati, izmeniti ili ukloniti oznake sa CodeBuild resursa, ometajući alokaciju troškova vaše organizacije, praćenje resursa i politike kontrole pristupa zasnovane na oznakama.

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

Potencijalni uticaj: Poremećaj alokacije troškova, praćenja resursa i politika kontrole pristupa zasnovanih na oznakama.

codebuild:DeleteSourceCredentials

Napadač bi mogao da obriše izvorne akreditive za Git repozitorijum, što bi uticalo na normalno funkcionisanje aplikacija koje se oslanjaju na repozitorijum.

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

Potencijalni uticaj: Poremećaj normalnog funkcionisanja aplikacija koje se oslanjaju na pogođeni repozitorijum zbog uklanjanja izvora kredencijala.

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