AWS - CodeBuild Post Exploitation

Support HackTricks

CodeBuild

For more information, check:

Abuse CodeBuild Repo Access

Aby skonfigurować CodeBuild, będzie potrzebny dostęp do repozytorium kodu, które będzie używane. Kilka platform może hostować ten kod:

Projekt CodeBuild musi mieć dostęp do skonfigurowanego dostawcy źródła, albo za pomocą roli IAM, albo z użyciem tokena github/bitbucket lub dostępu OAuth.

Atakujący z podwyższonymi uprawnieniami w CodeBuild mógłby nadużyć tego skonfigurowanego dostępu, aby wyciekł kod skonfigurowanego repozytorium oraz innych, do których mają dostęp ustawione poświadczenia. Aby to zrobić, atakujący musiałby po prostu zmienić adres URL repozytorium na każde repozytorium, do którego mają dostęp skonfigurowane poświadczenia (zauważ, że strona aws wyświetli wszystkie z nich):

I zmienić polecenia Buildspec, aby wyeksfiltrować każde repozytorium.

Jednakże, to zadanie jest powtarzalne i żmudne i jeśli token github został skonfigurowany z uprawnieniami do zapisu, atakujący nie będzie mógł (nadużyć) tych uprawnień, ponieważ nie ma dostępu do tokena. Czyżby? Sprawdź następny rozdział

Leaking Access Tokens from AWS CodeBuild

Możesz wyciekować dostęp przyznany w CodeBuild do platform takich jak Github. Sprawdź, czy jakikolwiek dostęp do zewnętrznych platform został przyznany za pomocą:

aws codebuild list-source-credentials

codebuild:DeleteProject

Napastnik mógłby usunąć cały projekt CodeBuild, co spowodowałoby utratę konfiguracji projektu i wpłynęło na aplikacje polegające na tym projekcie.

aws codebuild delete-project --name <value>

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

codebuild:TagResource , codebuild:UntagResource

Napastnik mógłby dodać, zmodyfikować lub usunąć tagi z zasobów CodeBuild, zakłócając alokację kosztów w 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 i polityk kontroli dostępu opartych na tagach.

codebuild:DeleteSourceCredentials

Napastnik mógłby usunąć poświadczenia źródłowe dla repozytorium Git, co wpłynęłoby na normalne funkcjonowanie aplikacji polegających na tym repozytorium.

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

Potencjalny wpływ: Zakłócenie normalnego funkcjonowania aplikacji polegających na dotkniętym repozytorium z powodu usunięcia poświadczeń źródłowych.

Wsparcie HackTricks

Last updated