AWS - CodeBuild Post Exploitation

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

CodeBuild

Aby uzyskać więcej informacji, sprawdź:

AWS - Codebuild Enum

Sprawdź sekrety

If credentials have been set in Codebuild to connect to Github, Gitlab or Bitbucket in the form of personal tokens, passwords or OAuth token access, these credentials are going to be stored as secrets in the secret manager.
Dlatego, jeśli masz dostęp do odczytu secret manager, będziesz w stanie pobrać te sekrety i pivotować do podłączonej platformy.

AWS - Secrets Manager Privesc

Abuse CodeBuild Repo Access

Aby skonfigurować CodeBuild, będzie potrzebować dostępu do repozytorium z kodem, którego będzie używać. Kilka platform może hostować ten kod:

The CodeBuild project must have access to the configured source provider, either via IAM role or with a github/bitbucket token or OAuth access.

An attacker with elevated permissions in over a CodeBuild could abuse this configured access to leak the code of the configured repo and others where the set creds have access.
Aby to zrobić, atakujący musiałby jedynie change the repository URL to each repo the config credentials have access (zauważ, że aws web wyświetli je wszystkie dla Ciebie):

And change the Buildspec commands to exfiltrate each repo.

Warning

Jednakże, to zadanie jest powtarzalne i żmudne i jeśli github token został skonfigurowany z write permissions, atakujący won’t be able to (ab)use those permissions ponieważ nie ma dostępu do tokena.
Or does he? Check the next section

Leaking Access Tokens from AWS CodeBuild

You can leak access given in CodeBuild to platforms like Github. Sprawdź, czy przydzielono jakikolwiek dostęp do zewnętrznych platform za pomocą:

aws codebuild list-source-credentials

AWS Codebuild - Token Leakage

Wykonanie nieautoryzowanego PR przez błędną konfigurację filtrów webhook

Jeśli filtry webhook są słabe, zewnętrzni atakujący mogą doprowadzić do zbudowania swoich PR-ów w uprzywilejowanych projektach CodeBuild, a następnie wykonać dowolny kod w CI.

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

codebuild:DeleteProject

Atakujący może usunąć cały projekt CodeBuild, powodując utratę konfiguracji projektu i wpływając na aplikacje, które na nim polegają.

aws codebuild delete-project --name <value>

Potencjalny wpływ: Utrata konfiguracji projektu i zakłócenie działania usług dla aplikacji korzystających z usuniętego projektu.

codebuild:TagResource , codebuild:UntagResource

Atakujący mógłby dodać, zmodyfikować lub usunąć tagi z zasobów CodeBuild, zakłócając alokację kosztów w Twojej organizacji, śledzenie zasobów oraz polityki kontroli dostępu oparte na tagach.

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

Potencjalny wpływ: Zakłócenie alokacji kosztów, śledzenia zasobów oraz polityk kontroli dostępu opartych na tagach.

codebuild:DeleteSourceCredentials

Atakujący mógłby usunąć poświadczenia źródłowe dla repozytorium Git, wpływając na prawidłowe działanie aplikacji zależnych od tego repozytorium.

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

Potencjalny wpływ: Zakłócenie normalnego działania aplikacji korzystających z dotkniętego repozytorium z powodu usunięcia poświadczeń źródłowych.

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks