AWS - Elastic Beanstalk Privesc
Elastic Beanstalk
Додаткова інформація про Elastic Beanstalk в:
pageAWS - Elastic Beanstalk EnumДля виконання чутливих дій в Beanstalk вам потрібно мати багато чутливих дозволів в багатьох різних сервісах. Наприклад, ви можете перевірити дозволи, надані для arn:aws:iam::aws:policy/AdministratorAccess-AWSElasticBeanstalk
elasticbeanstalk:RebuildEnvironment
, дозволи на запис в S3 та багато іншого
elasticbeanstalk:RebuildEnvironment
, дозволи на запис в S3 та багато іншогоЗ дозволами на запис в бакет S3, що містить код середовища та дозволами на перебудову додатка (потрібно elasticbeanstalk:RebuildEnvironment
та кілька інших, пов'язаних з S3
, EC2
та Cloudformation
), ви можете змінювати код, перебудовувати додаток, і наступного разу, коли ви звернетесь до додатка, він виконає ваш новий код, що дозволить зловмиснику скомпрометувати додаток та облікові дані ролі IAM.
elasticbeanstalk:CreateApplication
, elasticbeanstalk:CreateEnvironment
, elasticbeanstalk:CreateApplicationVersion
, elasticbeanstalk:UpdateEnvironment
, iam:PassRole
, та інші...
elasticbeanstalk:CreateApplication
, elasticbeanstalk:CreateEnvironment
, elasticbeanstalk:CreateApplicationVersion
, elasticbeanstalk:UpdateEnvironment
, iam:PassRole
, та інші...Згадані плюс кілька дозволів S3
, EC2
, cloudformation
,autoscaling
та elasticloadbalancing
необхідні для створення сценарію Elastic Beanstalk з нуля.
Створити додаток AWS Elastic Beanstalk:
Створіть середовище AWS Elastic Beanstalk (підтримувані платформи):
Якщо середовище вже створено і ви не хочете створювати нове, ви можете просто оновити існуюче.
Упакуйте ваш код додатка та залежності в ZIP-файл:
Завантажте ZIP-файл до відра S3:
Створіть версію додатку AWS Elastic Beanstalk:
Розгорнути версію додатка у вашому середовищі AWS Elastic Beanstalk:
elasticbeanstalk:СтворенняApplicationVersion
, elasticbeanstalk:ОновленняСередовища
, cloudformation:GetTemplate
, cloudformation:ОписStackResources
, cloudformation:ОписStackResource
, autoscaling:ОписAutoScalingGroups
, autoscaling:ПризупиненняПроцесів
, autoscaling:ПризупиненняПроцесів
elasticbeanstalk:СтворенняApplicationVersion
, elasticbeanstalk:ОновленняСередовища
, cloudformation:GetTemplate
, cloudformation:ОписStackResources
, cloudformation:ОписStackResource
, autoscaling:ОписAutoScalingGroups
, autoscaling:ПризупиненняПроцесів
, autoscaling:ПризупиненняПроцесів
По-перше, вам потрібно створити легітне середовище Beanstalk з кодом, який ви хочете запустити на жертві, слідуючи попереднім крокам. Потенційно простий zip файл, що містить ці 2 файли:
Як тільки у вас запущено власне середовище Beanstalk з оболонкою rev, настав час перенести його до середовища жертви. Для цього вам потрібно оновити політику Bucket вашого бакету S3 Beanstalk, щоб жертва могла отримати до нього доступ (Зверніть увагу, що це відкриє бакет для КОЖНОГО):
{% код переповнення = "заворот" %}
Last updated