子域名收集
子域名收集
证书透明度收集
要向用户提供加密流量,网站必须先向可信的证书授权中心 (CA) 申请证书。然后,当用户尝试访问相应网站时,此证书即会被提供给浏览器以验证该网站。近年来,由于 HTTPS 证书系统存在结构性缺陷,证书以及签发证书的 CA 很容易遭到入侵和操纵。Google 的证书透明度项目旨在通过提供一个用于监测和审核 HTTPS 证书的开放式框架,来保障证书签发流程安全无虞。
在线工具:
Certificate Transparency Search API by SSLMate(每小时免费查询100次)
DNS域传送
DNS分为主服务器、备份服务器、缓存服务器
域传送指的是备份服务器从主服务器复制数据,更新自己的数据库,增加冗余
而域传送的漏洞就是DNS配置不当,导致匿名用户可以获取某个域的所有记录,造成整个网络的拓扑结构都暴露给潜在的攻击者
检测方式:nslookup
nslookup -type=ns knowsec.com 119.29.29.29
# 服务器: pdns.dnspod.cn
# Address: 119.29.29.29
# 非权威应答:
# knowsec.com nameserver = ns76.domaincontrol.com
# knowsec.com nameserver = ns75.domaincontrol.com
nslookup
> server ns76.domaincontrol.com
> ls knowsec.com

如果出现服务器拒绝的话就是这个域名不存在域传送漏洞
dig工具
axfr是q-type类型的一种,可以请求传送某个区域的全部记录,就和上面的域传送一样
只要我们欺骗服务器发送一个请求,只要存在漏洞,就会返回所有的解析记录
# 找到NS服务器
dig knowsec.com ns
# 利用找到的NS服务器发送axfr请求
dig axfr @NS服务器 knowsec.com

nmap
nmap的脚本dns-zone-ransfer可以帮我们探测是否存在域传送漏洞
nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=knownsec.com -p 53 -Pn f1g1ns1.dnspod.net
最后的参数是NS服务器

DNS公开数据集
Rapid7的开源项目收集了很多全互联网范围内的扫描数据,任何人都可以下载这些数据,本次收集主要设计两个数据集,一个是FDNS和RDNS,可以从中获取到大量的子域名信息
收集方法:
Find DNS Host Records | Subdomain Finder | HackerTarget.com
Search Web by Domain | Netcraft
直接搜索域名:


搜索引擎
搜索引擎本质是爬虫,对互联网进行了大量的爬取,往往收集了大量的子域名,只要搜索对应的语法就可以查询到我们想要的内容
收集方法
以google为例子,用减号排除我们不想收集的子域名
site:knowsec.com -www
空间搜索引擎
此处以zoomeye为例子
site:knowsec.com
信息泄露
网站爬虫
很多网站的页面中,会有跳转到其他系统的功能,例如oa,邮箱系统,其中就有可能包含其他子域名相关的信息,此外在部署了内容安全策略的header头部content-security-policy中也可能存在域名信息,可以用bp或者awvs等工具对站点进行爬取分析
文件泄露
很多网站有跨域策略文件crossdomain.xml、站点地图sitemap.xml和robots.txt等,其中也可能存在子域名的信息
代码仓库
在github的仓库内搜索关键字有可能泄露部分子域名信息

除了邮箱等敏感信息可能还存在其他的子域名信息
第三方在线平台
通过第三方提供的一些服务可以快速发现一些子域名
使用各种搜索引擎搜索关键字:在线子域名查询就可以快速找到一些可以用的平台
收集工具:
DNSDumpster - Find & lookup dns records for recon & research
域名查iP 域名解析 iP查询网站 iP反查域名 iP反查网站 同一iP网站 同iP网站域名iP查询(这玩意可以看历史解析记录)
${host}子域名查询结果 -站长工具(需要登录)
子域名枚举爆破
实际上就是获取到一个二级之后去通过字典拼接出三级域名或者四级域名。再直接浏览器访问拼接得到的地址验证,也可以用nslookup去解析验证拼接的地址是否正确,需要有庞大的准确的字典。
工具自动化
可以看到前面的收集步骤都很繁琐,那么下面这个工具可以把上面的步骤整合在一起,起到事半功倍的效果
OneForAll:
https://github.com/shmilylty/OneForAll.git
功能强大全面快速的子域名收集神器
subfinder
被动子域名枚举
https://github.com/projectdiscovery/subfinder
构造域名
前面收集了很多域名了,那这就是全部了吗,非也。
我们可以再延申出其他的域名,例如收集到admin.aaa.xxx.com有没有可能有:dev-admin.aaa.xxx.com通过这个方式再生成一波,然后检测存活率,结果肯定更全面
工具:
altdns:https://github.com/infosec-au/altdns.git
用法:
altdns -i subdomains.txt -o data_output -w words.txt -r -s results_output.txt
存活探测
通过前面的步骤我们收集了很多域名,需要一个一个判断是否存活太麻烦了,需要用到自动化检测工具:
httpx
https://github.com/projectdiscovery/httpx.git
httpx -title -tech-detect -content-length -random-agent -status-code -title -timeout 2 -threads 50 -l domain.txt
finger:
https://github.com/EASY233/Finger.git
python finger.py -h