mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-12 15:50:19 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# AWS MWAA Execution Role Account 와일드카드 취약점
|
||||
|
||||
## 취약점
|
||||
|
||||
MWAA의 execution role (Airflow workers가 AWS 리소스에 접근하기 위해 사용하는 IAM role)은 작동하기 위해 다음의 필수 policy가 필요합니다:
|
||||
```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-*"
|
||||
}
|
||||
```
|
||||
The wildcard (`*`) in the account ID position allows the role to interact with **any SQS queue in any AWS account** that starts with `airflow-celery-`. This is required because AWS provisions MWAA's internal queues in a separate AWS-managed account. There is no restriction on making queues with the `airflow-celery-` prefix.
|
||||
|
||||
**수정 불가:** 배포 전에 와일드카드를 제거하면 MWAA가 완전히 작동을 멈춥니다 — 스케줄러가 워커에 작업을 큐잉할 수 없습니다.
|
||||
|
||||
취약점 확인 및 벡터 인정 문서: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html)
|
||||
|
||||
## 악용
|
||||
|
||||
모든 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 APIs를 통해 지속적인 백도어 생성
|
||||
3. **Cross-Account Attacks**: 다른 조직의 큐가 이 명명 패턴을 따를 경우 악성 메시지를 주입
|
||||
|
||||
모든 공격은 직접적인 인터넷 연결이 아니라 AWS APIs를 사용하므로 네트워크 제어를 우회합니다.
|
||||
|
||||
## 영향
|
||||
|
||||
이는 MWAA의 아키텍처적 결함으로 IAM 기반의 완화책이 없습니다. AWS 문서를 따르는 모든 MWAA 배포는 이 취약점을 가지고 있습니다.
|
||||
|
||||
**네트워크 제어 우회:** 이 공격들은 인터넷 접근이 없는 프라이빗 VPC에서도 작동합니다. SQS API 호출은 AWS의 내부 네트워크와 VPC 엔드포인트를 사용하여 전통적인 네트워크 보안 제어, 방화벽, 아웃바운드 모니터링을 완전히 우회합니다. 조직은 네트워크 수준의 제어만으로는 이 data exfiltration 경로를 탐지하거나 차단할 수 없습니다.
|
||||
Reference in New Issue
Block a user