AWS - Codebuild Enumeracja
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
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
CodeBuild
AWS CodeBuild jest uznawany za w pełni zarządzaną usługę ciągłej integracji. Głównym celem tej usługi jest zautomatyzowanie procesu kompilacji kodu źródłowego, wykonywania testów i pakowania oprogramowania do wdrożenia. Największą zaletą CodeBuild jest to, że odciąża użytkowników od konieczności provisionowania, zarządzania i skalowania serwerów buildowych. Jest tak, ponieważ sama usługa zarządza tymi zadaniami. Do kluczowych funkcji AWS CodeBuild należą:
- Zarządzana usługa: CodeBuild zarządza i skaluje serwery buildowe, zwalniając użytkowników z obowiązku utrzymania serwerów.
- Ciągła integracja: Integruje się z procesem rozwoju i wdrażania, automatyzując fazy budowania i testowania w procesie wydawniczym.
- Produkcja pakietów: Po fazach budowania i testowania przygotowuje paczki oprogramowania gotowe do wdrożenia.
AWS CodeBuild płynnie integruje się z innymi usługami AWS, zwiększając wydajność i niezawodność pipeline’u CI/CD (Ciągła integracja/Ciągłe wdrażanie).
Github/Gitlab/Bitbucket Poświadczenia
Domyślne poświadczenia źródła
To opcja legacy, w której można skonfigurować pewien dostęp (np. token Github lub aplikację), który będzie współdzielony między projektami codebuild, dzięki czemu wszystkie projekty mogą używać tego skonfigurowanego zestawu poświadczeń.
Przechowywane poświadczenia (tokeny, hasła…) są zarządzane przez codebuild i nie istnieje publiczny sposób ich pobrania za pomocą AWS API.
Niestandardowe poświadczenia źródła
W zależności od platformy repozytorium (Github, Gitlab i Bitbucket) dostępne są różne opcje. Jednak ogólnie każda opcja, która wymaga przechowania tokena lub hasła, zapisze go jako secret w secrets manager.
Pozwala to na to, by różne projekty codebuild mogły używać różnych skonfigurowanych dostępów do dostawców zamiast korzystać tylko z domyślnie skonfigurowanego.
Enumeracja
# List external repo creds (such as github tokens)
## It doesn't return the token but just the ARN where it's located
aws codebuild list-source-credentials
# Projects
aws codebuild list-shared-projects
aws codebuild list-projects
aws codebuild batch-get-projects --names <project_name> # Check for creds in env vars
# Builds
aws codebuild list-builds
aws codebuild list-builds-for-project --project-name <p_name>
aws codebuild list-build-batches
aws codebuild list-build-batches-for-project --project-name <p_name>
# Reports
aws codebuild list-reports
aws codebuild describe-test-cases --report-arn <ARN>
Tip
Jeśli masz
codebuild:StartBuild, pamiętaj, że często możesz nadpisać zmienne środowiskowe podczas builda (--environment-variables-override). To wystarczy w niektórych atakach nawet bezUpdateProjectlub nadpisaniabuildspec(na przykład: przekierowanie artifact/upload buckets w celu eksfiltracji sekretów, albo nadużycie language/runtime env vars do wykonania poleceń).
Eskalacja uprawnień
Na poniższej stronie możesz sprawdzić, jak nadużyć uprawnień codebuild w celu eskalacji uprawnień:
Działania po eksploatacji
AWS - CodeBuild Post Exploitation
Dostęp bez uwierzytelnienia
AWS - CodeBuild Unauthenticated Access
Źródła
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
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

