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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
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, що надасть їм нову політику з кількома додатковими дозволами.
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
- Створити новий проект:
- Використовуйте дію
codestar:CreateProjectFromTemplate
для ініціювання створення нового проекту. - Після успішного створення доступ автоматично надається для
cloudformation:UpdateStack
. - Цей доступ специфічно націлений на стек, пов'язаний з роллю IAM
CodeStarWorker-<generic project name>-CloudFormation
.
- Оновити цільовий стек:
- З наданими дозволами CloudFormation продовжте оновлення вказаного стеку.
- Ім'я стеку зазвичай відповідатиме одному з двох шаблонів:
awscodestar-<generic project name>-infrastructure
awscodestar-<generic project name>-lambda
- Точне ім'я залежить від обраного шаблону (зверніться до прикладу експлойт-скрипта).
- Доступ і дозволи:
- Після оновлення ви отримуєте можливості, призначені для 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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.