当前位置: 首页 > news >正文

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

cdnChecker

一款识别域名是否使用cdn的工具
https://github.com/alwaystest18/cdnChecker

背景

红队打点时经常会有收集子域名然后转成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段

安装

git clone https://github.com/alwaystest18/cdnChecker.git
cd cdnChecker/
go install
go build cdnChecker.go

使用

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

参数说明

Usage of ./cdnChecker:-cf string         //cdn cname文件,默认为同目录cdn_cnamecdn cname file (default "cdn_cname")-df string         //域名列表文件,注意为host部分,不要带http://domain list file-o string         //未使用cdn域名输出文件,如果不指定生成在同目录no_cdn_domains+时间.txtoutput domains that are not using cdn to file (default "no_cdn_domains202304040755.txt")-oc string     //使用cdn域名输出文件,如果不指定生成在同目录use_cdn_domains+时间.txtoutput domains that are using cdn to file (default "use_cdn_domains202304040755.txt")-oi string    //未使用cdn的ip输出文件,如果不指定生成在同目录no_cdn_ips+时间.txtoutput 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        //使用cdn
www.qq.com         //使用cdn
www.alibabagroup.com    //使用cdn
aurora.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 -silent
43.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的域名,程序会默认为域名无效过滤掉

感谢

https://github.com/xiaoyiios/chinacdndomianlist

http://www.lryc.cn/news/55818.html

相关文章:

  • Ant Design Vue的汉化
  • spring cloud中实现接口广播请求到服务提供者
  • 电机PID参数调节笔记
  • 【深度学习】基于华为MindSpore的手写体图像识别实验
  • Linux:内核调试之内核魔术键sysrq
  • Python import导包快速入门
  • ChatGPT这么火,我们能怎么办?
  • HashMap底层原理
  • 卡顿优化小结
  • springboot前端ajax 04 关于后台传的时间和状态在前端的转换
  • 解决Windows微信和 PowerToys 的键盘管理器冲突
  • 组会时间的工作
  • linux udp bind 返回值-1分析
  • Hexo搭建博客
  • Lesson11:http协议
  • 计算机信息安全有哪些SCI期刊推荐? - 易智编译EaseEditing
  • CNVD-2023-12632 泛微e-cology9 sql注入 附poc
  • 赛宁网安合作伙伴大会成功举办,重磅发布SCBaaS服务!
  • R语言 4.2.2安装包下载及安装教程
  • 快速玩转 CNStack 2.0 流量防护
  • 你还在用原生 poi 处理 excel?太麻烦了来瞧瞧这个
  • No.027<软考>《(高项)备考大全》【第11章】项目风险管理
  • mit6.824 lab2c-数据持久化
  • leaflet使用L.geoJSON加载文件,参数filter的使用方法(127)
  • 23年5月高项学习笔记7—— 质量管理
  • 学编程需要哪些基础呢?一起来看看吧
  • PECS In Java泛型类型通配符限定之<? extends T>与<? super T>
  • 电子招投标系统源码之了解电子招标投标全流程
  • admin Tips
  • ToBeWritten之Radare2 使用教程