使用 Prisma Cloud 策略“AWS Route53 托管区域具有与 AWS S3 存储桶关联的子域接管风险的悬空 DNS 记录”的 RQL 时,无法检测到 JSON 值数组中所需的值

使用 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 语法支持。
注意 :如果 DNS 记录只有 1 个条目指向已删除的 S3 存储桶,则该策略工作正常


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 操作员
  • 有关功能请求及其预计到达时间的更多详细信息,请联系您的客户/客户成功团队


Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u0000008W9FCAU&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language