# AWS - Elastic Beanstalk 未認証の列挙

{{#include ../../../../banners/hacktricks-training.md}}

## Elastic Beanstalk

For more information check:

{{#ref}}
../../aws-services/aws-elastic-beanstalk-enum.md
{{#endref}}

### Webの脆弱性

デフォルトでは Beanstalk 環境は **Metadatav1 disabled** になっていることに注意してください。

Beanstalk の Web ページの形式は **`https://<webapp-name>-env.<region>.elasticbeanstalk.com/`** です。

### 不適切な Security Group ルール

Security Group ルールの誤設定により Elastic Beanstalk インスタンスが公開されることがあります。**敏感なポートで任意のIPアドレス(0.0.0.0/0)からのトラフィックを許可するなど、過度に許容的な ingress ルールは攻撃者がインスタンスにアクセスできるようにしてしまいます**。

### Publicly Accessible Load Balancer

Elastic Beanstalk 環境が load balancer を使用しており、その load balancer が公開アクセス可能に設定されている場合、攻撃者は **load balancer に直接リクエストを送る** ことができます。これは本来公開を目的とした Web アプリケーションでは問題にならない場合がありますが、プライベートなアプリケーションや環境では問題になることがあります。

### Publicly Accessible S3 Buckets

Elastic Beanstalk のアプリケーションはデプロイ前に S3 バケットに保存されることが多いです。アプリケーションを含む S3 バケットが公開されている場合、攻撃者は **アプリケーションコードをダウンロードして脆弱性や機密情報を探す** ことができます。

### 公開環境の列挙
```bash
aws elasticbeanstalk describe-environments --query 'Environments[?OptionSettings[?OptionName==`aws:elbv2:listener:80:defaultProcess` && contains(OptionValue, `redirect`)]].{EnvironmentName:EnvironmentName, ApplicationName:ApplicationName, Status:Status}' --output table
```
{{#include ../../../../banners/hacktricks-training.md}}
