AWS - CodeBuild Post Exploitation
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ą:
codebuild:DeleteProject
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.
Potencjalny wpływ: Utrata konfiguracji projektu i zakłócenie działania aplikacji korzystających z usuniętego projektu.
codebuild:TagResource
, codebuild:UntagResource
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.
Potencjalny wpływ: Zakłócenie alokacji kosztów, śledzenia zasobów i polityk kontroli dostępu opartych na tagach.
codebuild:DeleteSourceCredentials
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.
Potencjalny wpływ: Zakłócenie normalnego funkcjonowania aplikacji polegających na dotkniętym repozytorium z powodu usunięcia poświadczeń źródłowych.
Last updated