Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws

This commit is contained in:
Translator
2025-10-23 21:53:42 +00:00
parent 6bbea69b05
commit 73f35c804f

View File

@@ -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 を検出・遮断できません。