识别域名是否使用cdn的工具

 

 

背景

 

红队打点时经常会有收集子域名然后转成ip进而扩展ip段进行脆弱点寻找的需求,如果域名使用cdn,会导致收集错误的ip段,因此我们需要排除cdn来收集更准确的ip地址。

现有的一些识别cdn的工具存在如下问题:

  • 仅根据cname或ip范围判断cdn,cname与ip范围不全导致遗漏

  • 输出字段较多,不方便直接与其他工具结合

同时受到https://github.com/projectdiscovery/ 很多工具的启发,本工具的设计目标就是仅做cdn识别这一项功能,同时可以仅输出未使用cdn的ip,便于直接与其他工具联动,比如 https://github.com/projectdiscovery/mapcidr ,方便直接生成目标ip段

使用

 

速度测试:实际测试13361个域名耗时82s

参数说明

 

Usage of ./cdnChecker:  -cf string         //cdn cname文件,默认为同目录cdn_cname        cdn cname file (default "cdn_cname")  -df string         //域名列表文件,注意为host部分,不要带http://        domain list file  -o string         //未使用cdn域名输出文件,如果不指定生成在同目录no_cdn_domains+时间.txt        output domains that are not using cdn to file (default "no_cdn_domains202304040755.txt")  -oc string     //使用cdn域名输出文件,如果不指定生成在同目录use_cdn_domains+时间.txt        output domains that are using cdn to file (default "use_cdn_domains202304040755.txt")  -od string     //域名:ip的格式,便于根据ip反查域名,如果不指定生成在同目录domain_info+时间.txt        output domain info(domain:ip) to file (default "domain_info202304122222.txt")  -oi string    //未使用cdn的ip输出文件,如果不指定生成在同目录no_cdn_ips+时间.txt        output ips that are not using cdn to file (default "no_cdn_ips202304040755.txt")  -r string       //dns服务器列表文件        dns resolvers file

单独使用

$ cat domains.txt www.baidu.com        //使用cdnwww.qq.com         //使用cdnwww.alibabagroup.com    //使用cdnaurora.tencent.com     //未使用cdn$ ./cdnChecker -df domains.txt -cf cdn_cname -r resolvers.txt 43.137.23.148

目录下生成

其中结果

结合mapcidr 可直接生成ip段

 

$./cdnChecker -df domains.txt -cf cdn_cname -r resolvers.txt | mapcidr -aggregate-approx -silent43.137.23.148/32

强烈推荐dns服务器列表使用自带的resolvers.txt(均为国内dns服务器且验证可用),如果服务器数量过少,大量的dns查询会导致timeout,影响查询准确度

 

识别cdn思路

 

主要通过多个dns服务器节点获取域名解析ip,如果存在4个以上不同的ip段,则判断使用cdn,反之未使用cdn。但是直接通过dns服务器查询会增加网络开销影响速度,因此先通过以下方法完成初步筛选:

1.通过https://github.com/projectdiscovery/dnsx 自带的checkCdn方法(通过ip范围判断,主要为国外cdn厂商,对国内cdn识别效果不理想)

2.存在A记录但不存在cname的域名直接判断未使用cdn

3.存在cname的与cdn name列表对比,如果包含cdn cname列表则判断使用cdn

常见问题

 

  • 结果中使用cdn域名列表与未使用cdn域名列表数量相加与实际测试域名数量不符?

答:对于无法获取解析ip的域名,程序会默认为域名无效过滤掉

  • 判定站点使用了cdn,不在cdn的ip范围,不在cdn的cname范围,同时domaininfo文件中对应的也是一个ip

答:判定站点是否使用cdn时是参考多个dns服务器解析结果,而写入domaininfo文件获取的ip地址为单个dns服务器解析结果,个别域名会存在多服务器解析多个ip而单服务器仅解析一个ip的情况

原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/35275.html

Like (0)
速盾高防cdn的头像速盾高防cdn
Previous 2024年4月14日 上午1:04
Next 2024年4月14日

相关推荐

  • 免备案cdn哪家好

    排序不作优略排名,只是想到哪个就先发哪个。 一、速盾 这个是首选,注册后添加域名即可使用 网址:https://www.sudun.com/ 二、又拍云 免费可以获取每月 15GB…

    CDN资讯 2024年3月29日
    0
  • 深入探索CDN(内容分发网络)

    随着互联网的飞速发展,用户对网站访问速度和体验的要求越来越高。为了满足这一需求,CDN(Content Delivery Network,内容分发网络)作为一种重要的运维技术应运而…

    2024年5月9日
    0
  • IaaS/PaaS/SaaS是什么?

    云计算已经成为了现代IT领域的一个热门话题,它可以帮助企业实现快速、安全和灵活的IT资源分配。云计算提供了不同的服务模型,包括基础设施即服务(IaaS)、平台即服务(PaaS)和软…

    CDN资讯 2024年4月14日
    0
  • TCP/IP协议与OSI七层模型

    其包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模…

    2024年5月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注