mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-28 21:53:15 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# AWS MWAA 実行ロールアカウント ワイルドカード脆弱性
|
||||
|
||||
## 脆弱性
|
||||
|
||||
MWAAの実行ロール(Airflow workersがAWSリソースへアクセスするために使用するIAMロール)は、動作するために次の必須ポリシーを必要とします:
|
||||
```json
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": [
|
||||
"sqs:ChangeMessageVisibility",
|
||||
"sqs:DeleteMessage",
|
||||
"sqs:GetQueueAttributes",
|
||||
"sqs:GetQueueUrl",
|
||||
"sqs:ReceiveMessage",
|
||||
"sqs:SendMessage"
|
||||
],
|
||||
"Resource": "arn:aws:sqs:us-east-1:*:airflow-celery-*"
|
||||
}
|
||||
```
|
||||
アカウントID位置のワイルドカード (`*`) は、ロールが `airflow-celery-` で始まる **any SQS queue in any AWS account** とやり取りできるようにします。これは、AWSがMWAAの内部キューを別のAWS管理アカウントでプロビジョニングするために必要です。`airflow-celery-` プレフィックスを持つキューを作成する制限はありません。
|
||||
|
||||
**修正不可:** デプロイ前にワイルドカードを削除するとMWAAが完全に動作しなくなります — スケジューラがワーカーのためにタスクをキューできなくなります。
|
||||
|
||||
ドキュメント(脆弱性の検証とベクターの確認): [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html)
|
||||
|
||||
## Exploitation
|
||||
|
||||
すべての Airflow DAGs は execution role の権限で実行されます。DAGs は任意のコードを実行できる Python スクリプトで、`yum` や `curl` を使ってツールをインストールしたり、悪意あるスクリプトをダウンロードしたり、任意の Python ライブラリをインポートしたりできます。DAGs は割り当てられた S3 フォルダから取得され、スケジュールに従って自動的に実行されます。攻撃者に必要なのはそのバケットパスへ PUT する能力だけです。
|
||||
|
||||
DAGs を書ける誰もが(通常 MWAA 環境のほとんどのユーザー)、この権限を悪用できます:
|
||||
|
||||
1. **Data Exfiltration**: 外部アカウントに `airflow-celery-exfil` という名前のキューを作成し、`boto3` 経由で機密データをそこに送る DAG を書く
|
||||
|
||||
2. **Command & Control**: 外部キューからコマンドをポーリングして実行し、結果を返す — SQS API を介して永続的なバックドアを作る
|
||||
|
||||
3. **Cross-Account Attacks**: 他組織のキューが命名パターンに従っている場合、そこに悪意のあるメッセージを注入する
|
||||
|
||||
これらの攻撃は直接のインターネット接続ではなく AWS API を使用するため、ネットワーク制御を全て回避します。
|
||||
|
||||
## Impact
|
||||
|
||||
これは MWAA の設計上の欠陥で、IAM ベースの緩和策はありません。AWS のドキュメントに従ってデプロイされたすべての MWAA 環境がこの脆弱性を有します。
|
||||
|
||||
**Network Control Bypass:** この攻撃はインターネット接続のないプライベート VPC 内でも動作します。SQS API 呼び出しは AWS の内部ネットワークと VPC エンドポイントを使用するため、従来のネットワークセキュリティ制御、ファイアウォール、送信監視を完全に回避します。組織はネットワークレベルの制御でこの data exfiltration path を検出・遮断できません。
|
||||
Reference in New Issue
Block a user