AWS - CodeBuild Post Exploitation

Reading time: 4 minutes

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

Для отримання додаткової інформації, перегляньте:

AWS - Codebuild Enum

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

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

AWS - Secrets Manager Privesc

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

Щоб налаштувати CodeBuild, йому буде потрібен доступ до репозиторію коду, який він буде використовувати. Кілька платформ можуть хостити цей код:

Проект CodeBuild повинен мати доступ до налаштованого постачальника джерел, або через IAM роль, або з токеном github/bitbucket або доступом через OAuth.

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

І змінити команди Buildspec для ексфільтрації кожного репозиторію.

warning

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

Витікання токенів доступу з AWS CodeBuild

Ви можете витікати доступ, наданий у CodeBuild, до платформ, таких як Github. Перевірте, чи був наданий доступ до зовнішніх платформ:

bash
aws codebuild list-source-credentials

AWS Codebuild - Token Leakage

codebuild:DeleteProject

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

bash
aws codebuild delete-project --name <value>

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

codebuild:TagResource , codebuild:UntagResource

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

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

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

codebuild:DeleteSourceCredentials

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

sql
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