AWS - CodeBuild Post Exploitation

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

CodeBuild

For more information, check:

AWS - Codebuild Enum

Перевірка секретів

Якщо облікові дані були налаштовані в Codebuild для підключення до Github, Gitlab або Bitbucket у вигляді персональних токенів, паролів або доступу через OAuth, ці credentials будуть збережені як secrets у secret manager.
Отже, якщо у вас є доступ для читання secret manager, ви зможете отримати ці secrets і перейти на підключену платформу.

AWS - Secrets Manager Privesc

Зловживання доступом CodeBuild до репозиторію

Щоб налаштувати CodeBuild, йому потрібен доступ до code repo, який він використовуватиме. Цей код можуть розміщувати різні платформи:

Проект CodeBuild повинен мати доступ до налаштованого source provider, або через IAM role, або за допомогою github/bitbucket token або OAuth access.

Атакувач з підвищеними правами над CodeBuild може зловживати цим доступом, щоб leak код сконфігурованого репозиторію та інших репозиторіїв, до яких мають доступ налаштовані creds.
Щоб це зробити, атакуючому потрібно просто змінити URL репозиторію на кожен репо, до якого мають доступ конфігураційні credentials (зверніть увагу, aws web виведе всі для вас):

І змінити Buildspec команди для exfiltrate кожного репо.

Warning

Однак це завдання рутинне і нудне, і якщо github token було налаштовано з write permissions, атакуючий не зможе (ab)use ті права, оскільки він не має доступу до token.
Або ж таки зможе? Дивіться наступний розділ

Leaking Access Tokens from AWS CodeBuild

You can leak access given in CodeBuild to platforms like Github. Check if any access to external platforms was given with:

aws codebuild list-source-credentials

AWS Codebuild - Token Leakage

Ненадійне виконання PR через неправильну конфігурацію фільтрів webhook

Якщо фільтри webhook слабкі, зовнішні атакувальники можуть змусити побудувати їхні PR у привілейованих проектах CodeBuild і потім виконати довільний код у CI.

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

codebuild:DeleteProject

Атакувальник може видалити весь проект CodeBuild, що призведе до втрати конфігурації проекту та вплине на додатки, які залежать від цього проекту.

aws codebuild delete-project --name <value>

Можливий вплив: Втрата конфігурації проекту та порушення роботи сервісу для додатків, які використовують видалений проект.

codebuild:TagResource , codebuild:UntagResource

Зловмисник може додавати, змінювати або видаляти теги з ресурсів CodeBuild, що порушує розподіл витрат у вашій організації, відстеження ресурсів та політики контролю доступу, що базуються на тегах.

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

Потенційний вплив: Перебої у розподілі витрат, відстеженні ресурсів та політиках контролю доступу на основі тегів.

codebuild:DeleteSourceCredentials

Атакуючий може видалити облікові дані джерела для Git-репозиторію, що вплине на нормальну роботу застосунків, які залежать від цього репозиторію.

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

Потенційний вплив: Порушення нормальної роботи додатків, що залежать від постраждалого репозиторію через видалення облікових даних джерела.

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks