AWS - Elastic Beanstalk Privesc
Elastic Beanstalk
Додаткова інформація про Elastic Beanstalk в:
AWS - 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:СтворенняВерсіїДодатку
, elasticbeanstalk:ОновленняСередовища
, cloudformation:ОтриматиШаблон
, cloudformation:ОписатиРесурсиСтеку
, cloudformation:ОписатиРесурсСтеку
, autoscaling:ОписатиГрупиАвтоМасштабування
, autoscaling:ПризупинитиПроцеси
, autoscaling:ПризупинитиПроцеси
elasticbeanstalk:СтворенняВерсіїДодатку
, elasticbeanstalk:ОновленняСередовища
, cloudformation:ОтриматиШаблон
, cloudformation:ОписатиРесурсиСтеку
, cloudformation:ОписатиРесурсСтеку
, autoscaling:ОписатиГрупиАвтоМасштабування
, autoscaling:ПризупинитиПроцеси
, autoscaling:ПризупинитиПроцеси
Спочатку вам потрібно створити легітне середовище Beanstalk з кодом, який ви хочете запустити на жертві відповідно до попередніх кроків. Потенційно простий zip, що містить ці 2 файли:
Після того, як у вас запущено власне середовище Beanstalk з оболонкою rev, настав час мигрувати його до середовища жертви. Для цього вам потрібно оновити політику віджету вашого віджету S3 Beanstalk, щоб жертва могла отримати до нього доступ (Зверніть увагу, що це відкриє віджет для КОЖНОГО):
{% код переповнення = "заворот" %}
Last updated