cdnChecker
一款識(shí)別域名是否使用cdn的工具
https://github.com/alwaystest18/cdnChecker
背景
紅隊(duì)打點(diǎn)時(shí)經(jīng)常會(huì)有收集子域名然后轉(zhuǎn)成ip進(jìn)而擴(kuò)展ip段進(jìn)行脆弱點(diǎn)尋找的需求,如果域名使用cdn,會(huì)導(dǎo)致收集錯(cuò)誤的ip段,因此我們需要排除cdn來(lái)收集更準(zhǔn)確的ip地址。
現(xiàn)有的一些識(shí)別cdn的工具存在如下問(wèn)題:
-
僅根據(jù)cname或ip范圍判斷cdn,cname與ip范圍不全導(dǎo)致遺漏
-
輸出字段較多,不方便直接與其他工具結(jié)合
同時(shí)受到https://github.com/projectdiscovery/ 很多工具的啟發(fā),本工具的設(shè)計(jì)目標(biāo)就是僅做cdn識(shí)別這一項(xiàng)功能,同時(shí)可以?xún)H輸出未使用cdn的ip,便于直接與其他工具聯(lián)動(dòng),比如 https://github.com/projectdiscovery/mapcidr ,方便直接生成目標(biāo)ip段
安裝
git clone https://github.com/alwaystest18/cdnChecker.git
cd cdnChecker/
go install
go build cdnChecker.go
使用
速度測(cè)試:實(shí)際測(cè)試13361個(gè)域名耗時(shí)82s
參數(shù)說(shuō)明
Usage of ./cdnChecker:
-cf string //cdn cname文件,默認(rèn)為同目錄cdn_cname
cdn cname file (default "cdn_cname")
-df string //域名列表文件,注意為host部分,不要帶http://
domain list file
-o string //未使用cdn域名輸出文件,如果不指定生成在同目錄no_cdn_domains+時(shí)間.txt
output domains that are not using cdn to file (default "no_cdn_domains202304040755.txt")
-oc string //使用cdn域名輸出文件,如果不指定生成在同目錄use_cdn_domains+時(shí)間.txt
output domains that are using cdn to file (default "use_cdn_domains202304040755.txt")
-oi string //未使用cdn的ip輸出文件,如果不指定生成在同目錄no_cdn_ips+時(shí)間.txt
output ips that are not using cdn to file (default "no_cdn_ips202304040755.txt")
-r string //dns服務(wù)器列表文件
dns resolvers file
單獨(dú)使用
$ 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
結(jié)合mapcidr 可直接生成ip段
$./cdnChecker -df domains.txt -cf cdn_cname -r resolvers.txt | mapcidr -aggregate-approx -silent
43.137.23.148/32
強(qiáng)烈推薦dns服務(wù)器列表使用自帶的resolvers.txt(均為國(guó)內(nèi)dns服務(wù)器且驗(yàn)證可用),如果服務(wù)器數(shù)量過(guò)少,大量的dns查詢(xún)會(huì)導(dǎo)致timeout,影響查詢(xún)準(zhǔn)確度
識(shí)別cdn思路
主要通過(guò)多個(gè)dns服務(wù)器節(jié)點(diǎn)獲取域名解析ip,如果存在4個(gè)以上不同的ip段,則判斷使用cdn,反之未使用cdn。但是直接通過(guò)dns服務(wù)器查詢(xún)會(huì)增加網(wǎng)絡(luò)開(kāi)銷(xiāo)影響速度,因此先通過(guò)以下方法完成初步篩選:
1.通過(guò)https://github.com/projectdiscovery/dnsx 自帶的checkCdn方法(通過(guò)ip范圍判斷,主要為國(guó)外cdn廠商,對(duì)國(guó)內(nèi)cdn識(shí)別效果不理想)
2.存在A記錄但不存在cname的域名直接判斷未使用cdn
3.存在cname的與cdn name列表對(duì)比,如果包含cdn cname列表則判斷使用cdn
常見(jiàn)問(wèn)題
結(jié)果中使用cdn域名列表與未使用cdn域名列表數(shù)量相加與實(shí)際測(cè)試域名數(shù)量不符?
答:對(duì)于無(wú)法獲取解析ip的域名,程序會(huì)默認(rèn)為域名無(wú)效過(guò)濾掉文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-405894.html
感謝
https://github.com/xiaoyiios/chinacdndomianlist文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-405894.html
到了這里,關(guān)于一款識(shí)別域名是否使用cdn的工具cdnChecker的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!