AWS - CodeBuild Post Exploitation

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, pogledajte:

AWS - Codebuild Enum

Proverite tajne

Ako su akreditive postavljene u Codebuild-u za povezivanje sa Github, Gitlab ili Bitbucket u vidu personal tokens, lozinki ili OAuth token access, ove akreditive će biti sačuvane kao tajne u secret manager-u.
Dakle, ako imate pristup za čitanje secret manager-a, moći ćete da dobijete te tajne i pivotirate na povezanu platformu.

AWS - Secrets Manager Privesc

Abuse CodeBuild Repo Access

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

CodeBuild projekat mora imati pristup konfigurisanom source provider-u, bilo preko IAM role ili sa github/bitbucket token-om ili OAuth pristupom.

Napadač sa povišenim privilegijama nad CodeBuild-om može zloupotrebiti ovaj konfigurisan pristup da leak-uje kod konfigurisanog repoa i drugih repo-a kojima podešene kredencijale imaju pristup.
Da bi to uradio, napadač bi samo trebalo da promeni repository URL na svaki repo kojem konfiguracione kredencijale imaju pristup (napomena: aws web će vam ih sve navesti):

I promeni Buildspec komande da exfiltrate svaki repo.

Warning

Međutim, ovaj zadatak je repetitivan i zamoran i ako je github token konfigurisan sa write permissions, napadač neće moći da (ab)use te permisije jer nema pristup tokenu.
Или да ли може? Proverite sledeći odeljak

Leaking Access Tokens from AWS CodeBuild

You can leak access given in CodeBuild to platforms like Github. Check if any access to external platforms was given with:

aws codebuild list-source-credentials

AWS Codebuild - Token Leakage

Izvršavanje nepouzdanih PR-ova usled pogrešne konfiguracije webhook filtera

Ako su webhook filters slabi, eksterni napadači mogu da nateraju svoje PRs da budu izgrađeni u privilegovanim CodeBuild projektima i zatim izvrše proizvoljan kod u CI.

AWS CodeBuild - Untrusted PR Webhook Bypass (CodeBreach-style)

codebuild:DeleteProject

Napadač bi mogao izbrisati čitav CodeBuild projekat, što bi dovelo do gubitka konfiguracije projekta i uticalo na aplikacije koje se oslanjaju na taj projekat.

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č može dodavati, menjati ili uklanjati tags sa CodeBuild resursa, što može narušiti raspodelu troškova vaše organizacije, praćenje resursa i politike kontrole pristupa zasnovane na tags.

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

Potencijalni uticaj: Poremećaj u raspodeli troškova, praćenju resursa i politikama kontrole pristupa zasnovanim na tagovima.

codebuild:DeleteSourceCredentials

Napadač može izbrisati kredencijale izvora za Git repository, što bi omelo normalno funkcionisanje aplikacija koje zavise od tog repository-ja.

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

Mogući uticaj: Prekid normalnog rada aplikacija koje zavise od pogođenog repozitorijuma zbog uklanjanja kredencijala za pristup izvornom kodu.

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