使用 Prisma Cloud 策略“AWS Route53 托管区域具有与 AWS S3 存储桶关联的子域接管风险的悬空 DNS 记录”的 RQL 时,无法检测到 JSON 值数组中所需的值
3015
Created On 12/08/23 04:38 AM - Last Modified 12/19/23 05:19 AM
Symptom
- Prisma Cloud 策略“AWS Route53 Hosted Zone has dangling DNS record with subdomain takeover risk associated with AWS S3 Bucket”用于识别 AWS Route53 托管区域,其 CNAME 条目指向不存在的 S3 存储桶,通过在攻击者拥有/控制的任何 AWS 账户中创建类似的 S3 存储桶,攻击者可能会接管这些悬空域条目
- 虽然此策略 RQL 以 Route 53 托管区域的形式输出结果,但它不会以悬空域条目的形式提供输出
Environment
- Prisma Cloud 企业版 (SaaS)
Cause
- 我们在 API 级别执行 RQL,而不是在元数据级别执行 RQL
- 此策略存在漏报问题,即在配置了多个 CNAME 条目的 DNS 记录中,既有 S3 存储桶,也有不存在的 S3 存储桶
- 这是一个极端情况,其中策略 RQL 具有限制,可提醒此类 DNS 记录
- 如果“CNAME”类型中有 2 个或更多 DNS 记录条目指向已删除的 S3 存储桶,则需要嵌套数组 RQL 语法支持。
Resolution
- 有一个现有的功能增强请求,允许它与帐户条件和多关节 RQL 一起使用,目前没有 ETA
- 若要获取联接 RQL 的精确结果,请在 RQL 查询中包含 cloud.account 条件
config from cloud.resource where cloud.account='AWS Test Account' and api.name = 'aws-route53-list-hosted-zones' AND json.rule = hostedZone.config.privateZone is false and resourceRecordSet[?any( type equals CNAME and resourceRecords[*].value contains s3-website )] exists as X; config from cloud.resource where api.name = 'aws-s3api-get-bucket-acl' as Y; filter 'not ($.X.resourceRecordSet[*].name intersects $.Y.bucketName)'; show X;
- 在“调查”页中执行具有 cloud.account 条件的策略 RQL 并访问资源配置 JSON
- 如果找到大量DNS记录,可以使用关键字“s3”进行 切换搜索,并确保记录类型设置为“CNAME”,如下所示
Additional Information
- RQL 的跨账户加入: RQL 操作员
- 有关功能请求及其预计到达时间的更多详细信息,请联系您的客户/客户成功团队