AWS - Elastic Beanstalk Privesc
Elastic Beanstalk
Elastic Beanstalk hakkında daha fazla bilgi için:
pageAWS - Elastic Beanstalk EnumBeanstalk'ta hassas işlemler gerçekleştirmek için birçok farklı hizmette hassas izinlere sahip olmanız gerekmektedir. Örneğin, arn:aws:iam::aws:policy/AdministratorAccess-AWSElasticBeanstalk
izinlerine bakabilirsiniz.
elasticbeanstalk:RebuildEnvironment
, S3 yazma izinleri ve diğerleri
elasticbeanstalk:RebuildEnvironment
, S3 yazma izinleri ve diğerleriOrtamın kodunu içeren S3 kovasına yazma izinleri ve uygulamayı yeniden oluşturma izinleriyle ( elasticbeanstalk:RebuildEnvironment
ve S3
, EC2
ve Cloudformation
ile ilgili birkaç izin gereklidir), kodu değiştirebilir, uygulamayı yeniden oluşturabilir ve bir sonraki erişimde uygulama yeni kodunuzu çalıştırabilir, saldırganın uygulamayı ve IAM rol kimlik bilgilerini ele geçirmesine olanak tanır.
elasticbeanstalk:CreateApplication
, elasticbeanstalk:CreateEnvironment
, elasticbeanstalk:CreateApplicationVersion
, elasticbeanstalk:UpdateEnvironment
, iam:PassRole
, ve daha fazlası...
elasticbeanstalk:CreateApplication
, elasticbeanstalk:CreateEnvironment
, elasticbeanstalk:CreateApplicationVersion
, elasticbeanstalk:UpdateEnvironment
, iam:PassRole
, ve daha fazlası...Bahsedilenlerin yanı sıra, bir Elastic Beanstalk senaryosunu sıfırdan oluşturmak için S3
, EC2
, cloudformation
,autoscaling
ve elasticloadbalancing
izinleri gereklidir.
Bir AWS Elastic Beanstalk uygulaması oluşturun:
Bir AWS Elastic Beanstalk ortamı oluşturun (desteklenen platformlar):
Eğer bir ortam zaten oluşturulmuşsa ve yeni bir tane oluşturmak istemiyorsanız, sadece mevcut olanı güncelleyebilirsiniz.
Uygulama kodunuzu ve bağımlılıklarınızı bir ZIP dosyasına paketleyin:
S3 kovasına ZIP dosyasını yükleyin:
AWS Elastic Beanstalk uygulama sürümü oluşturun:
AWS Elastic Beanstalk ortamınıza uygulama sürümünü dağıtın:
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
Öncelikle, önceki adımları takip ederek, hedefte çalıştırmak istediğiniz kodu içeren geçerli bir Beanstalk ortamı oluşturmanız gerekmektedir. Potansiyel olarak, bu 2 dosyayı içeren basit bir zip dosyası:
Kendi Beanstalk ortamınızda çalışan ters kabuğunuz olduğunda, onu kurbanın ortamına taşımak için zamanı gelmiştir. Bunun için Beanstalk S3 kovasının Bucket Policy'sini güncellemeniz gerekmektedir, böylece kurban erişebilir (Bu, kovayı HERKESE açacaktır):
Last updated