# AWS - CodeBuild Post Exploitation {{#include ../../../../banners/hacktricks-training.md}} ## CodeBuild Aby uzyskać więcej informacji, sprawdź: {{#ref}} ../../aws-services/aws-codebuild-enum.md {{#endref}} ### Sprawdź Sekrety Jeśli dane uwierzytelniające zostały ustawione w Codebuild w celu połączenia z Github, Gitlab lub Bitbucket w formie tokenów osobistych, haseł lub dostępu za pomocą tokena OAuth, te **dane uwierzytelniające będą przechowywane jako sekrety w menedżerze sekretów**.\ Dlatego, jeśli masz dostęp do odczytu menedżera sekretów, będziesz mógł uzyskać te sekrety i przejść do połączonej platformy. {{#ref}} ../../aws-privilege-escalation/aws-secrets-manager-privesc.md {{#endref}} ### Nadużycie Dostępu do Repozytoriów CodeBuild 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 i innych, do których ustawione dane uwierzytelniające mają dostęp.\ Aby to zrobić, atakujący musiałby po prostu **zmienić adres URL repozytorium na każde repozytorium, do którego mają dostęp skonfigurowane dane uwierzytelniające** (zauważ, że strona aws wyświetli wszystkie z nich):
I **zmienić polecenia Buildspec, aby wyeksportować każde repozytorium**. > [!WARNING] > Jednak to **zadanie jest powtarzalne i nużące** 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.\ > A może ma? Sprawdź następny rozdział ### Wyciek Tokenów Dostępu z 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ą: ```bash aws codebuild list-source-credentials ``` {{#ref}} aws-codebuild-token-leakage.md {{#endref}} ### `codebuild:DeleteProject` Atakujący 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. ```bash aws codebuild delete-project --name ``` **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. ```bash aws codebuild tag-resource --resource-arn --tags aws codebuild untag-resource --resource-arn --tag-keys ``` **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. ```sql aws codebuild delete-source-credentials --arn ``` **Potencjalny wpływ**: Zakłócenie normalnego funkcjonowania aplikacji polegających na dotkniętym repozytorium z powodu usunięcia poświadczeń źródłowych. {{#include ../../../../banners/hacktricks-training.md}}