AWS - Elastic Beanstalk Privesc
Elastic Beanstalk
Więcej informacji o Elastic Beanstalk znajdziesz w:
AWS - Elastic Beanstalk EnumAby wykonać czynności wymagające uprawnień w Beanstalk, będziesz potrzebować wiele wrażliwych uprawnień w wielu różnych usługach. Możesz sprawdzić na przykład uprawnienia nadane dla arn:aws:iam::aws:policy/AdministratorAccess-AWSElasticBeanstalk
elasticbeanstalk:RebuildEnvironment
, uprawnienia do zapisu w S3 i wiele innych
elasticbeanstalk:RebuildEnvironment
, uprawnienia do zapisu w S3 i wiele innychPosiadając uprawnienia do zapisu w kubełku S3 zawierającym kod środowiska oraz uprawnienia do odbudowy aplikacji (wymagane jest elasticbeanstalk:RebuildEnvironment
oraz kilka innych związanych z S3
, EC2
i Cloudformation
), możesz modyfikować kod, odbudować aplikację, a następnym razem, gdy uzyskasz dostęp do aplikacji, zostanie wykonany twój nowy kod, umożliwiając atakującemu skompromitowanie aplikacji oraz poświadczeń roli IAM.
elasticbeanstalk:CreateApplication
, elasticbeanstalk:CreateEnvironment
, elasticbeanstalk:CreateApplicationVersion
, elasticbeanstalk:UpdateEnvironment
, iam:PassRole
, oraz więcej...
elasticbeanstalk:CreateApplication
, elasticbeanstalk:CreateEnvironment
, elasticbeanstalk:CreateApplicationVersion
, elasticbeanstalk:UpdateEnvironment
, iam:PassRole
, oraz więcej...Wymienione uprawnienia oraz kilka uprawnień do S3
, EC2
, cloudformation
, autoscaling
oraz elasticloadbalancing
są niezbędne do stworzenia scenariusza Elastic Beanstalk od podstaw.
Utwórz aplikację AWS Elastic Beanstalk:
Utwórz środowisko AWS Elastic Beanstalk (obsługiwane platformy):
Jeśli środowisko jest już utworzone i nie chcesz tworzyć nowego, możesz po prostu zaktualizować istniejące.
Spakuj kod aplikacji i zależności do pliku ZIP:
Prześlij plik ZIP do wiadra S3:
Utwórz wersję aplikacji AWS Elastic Beanstalk:
Wdroż aplikację wersji do swojego środowiska AWS Elastic Beanstalk:
elasticbeanstalk:CreateApplicationVersion
, elasticbeanstalk:UpdateEnvironment
, cloudformation:GetTemplate
, cloudformation:DescribeStackResources
, cloudformation:DescribeStackResource
, autoscaling:DescribeAutoScalingGroups
, autoscaling:SuspendProcesses
, autoscaling:SuspendProcesses
elasticbeanstalk:CreateApplicationVersion
, elasticbeanstalk:UpdateEnvironment
, cloudformation:GetTemplate
, cloudformation:DescribeStackResources
, cloudformation:DescribeStackResource
, autoscaling:DescribeAutoScalingGroups
, autoscaling:SuspendProcesses
, autoscaling:SuspendProcesses
Po pierwsze musisz utworzyć legit środowisko Beanstalk z kodem, który chcesz uruchomić na ofierze, wykonując poprzednie kroki. Potencjalnie prosty zip zawierający te 2 pliki:
Wymagania.txt
Gdy już masz uruchomione własne środowisko Beanstalk z odwróconym powłoką, nadszedł czas, aby je przenieść do środowiska ofiary. Aby to zrobić, musisz zaktualizować politykę kubełka S3 swojego beanstalka, aby ofiara mogła uzyskać do niego dostęp (Należy pamiętać, że spowoduje to otwarcie kubełka dla WSZYSTKICH):
Last updated