> 文档中心 > 子域名的信息收集

子域名的信息收集

文章目录

    • 域名枚举检测工具
    • 搜索引擎枚举
    • 第三方聚合服务枚举
    • HTTP证书透明性公开日志查询
    • 爬虫提取子域名
    • DNS域传送漏洞发现子域名

子域名,也就是二级域名(也存在三、四级子域名),是指顶级域名、父域名下的下一级域名。比如 news.baidu.com 和 tieba.baidu.com 这两个域名就是 baidu.com 下的子域名。
假设被渗透的目标站点网络规模比较大,企业对于主站域名的应用防护措施做的比较健全,对于主站本身的防护,漏洞发现、应急响应、漏洞修复还是硬件的安全设备都能够做到及时到位的防护。
这时候再从主域名下手很明显是一种不理智的行为,所以还不如从被渗透目标的某个子域名寻找突破口。可以针对子域名进行信息收集,然后通过子域名的漏洞,进行挖掘迂回攻击。

子域名枚举检测工具

常用的用于子域名检测的工具,大多是通过枚举的方式对子域名进行信息收集,枚举需要一个好的字典,一个好的字典可以增加枚举的成功率。

常用的子域名枚举爆破工具主要有Layer子域名挖掘机、K8、Sublist3r、subDomainBrute等。

这里我们简单介绍一下Layer子域名挖掘机和subDomainBrute。

使用Layer子域名挖掘机
“Layer子域名挖掘机”是一款图形化的工具,内置了很多子域名字典,支持多线程,可以识别域名的真实IP,是常用的子域名爆破工具之一。

“Layer子域名挖掘机”的使用方法比较简单,直接在域名对话框输入域名即可进行扫描。同时支持服务接口、暴力搜索、同服挖掘三种模式,支持打开网站、复制域名、复制IP、复制CDN、导出域名、导出IP、导出域名+IP、导出域名+IP+WEB服务器以及导出存活网站!扫描后的界面也显示的比较细致。有域名、解析IP、CDN列表、WEB服务器和网站状态等信息。

目前存在5.0更新版和4.X纪念版,主要区别是5.0增加了多层子域名遍历功能。

Layer子域名挖掘机

使用Sublist3r
Sublist3r也是一款比较常用的基于Python研发的工具,使用公开来源情报(OSINT、Open-source intelligence)枚举网站的子域名。可以帮助渗透测试人员对目标站点进行域名的收集并获取其子域名。Sublist3r使用了多种搜索引擎枚举子域名(如Baidu、Bing、Google等)。同样也使用Netcraft、VirusTotal、ThreatCrowd、DNSdumpster和ReverseDNS查询获取子域名。

使用命令 python sublist3r.py -d baidu.com 就可以对“baidu.com”进行子域名枚举查询

Sublist3r

使用subDomainBrute
“subDomainBrute”工具也是用于渗透目标的域名收集工具,高并发暴力枚举请求数可达到每秒1000次。使用方式为:

python subDomainBrute.py xxx.com

subDomainBrute

枚举发现的域名会会保存在“xxx.com.txt”文件中。

搜索引擎枚举

我们可以利用Google或者百度搜索引擎,输入“site:xxxx.com”,就可以获取相关的子域名信息。例如查询“163.com”的子域名,只需要在百度搜索引擎输入“site:163.com”就可以得到“open.163.com”、“you.163.com”等多个子域名。

在这里插入图片描述

第三方聚合服务枚举

很多第三方聚合服务网站同样也汇聚了大量的DNS数据集合,可以通过他们进行子域名信息收集。
常用的第三方聚合服务网站有ThreatCrowd、DNSdumpster等。

我们就可以利用这些第三方聚合服务网站,比如我们访问“https://dnsdumpster.com/”,进行在线DNS侦查和潜藏子域的搜集挖掘。

HTTP证书透明性公开日志查询

证书透明性(Certificate Transparency,CT)是证书授权机构(CA)的一个项目,通过让域、CA和域用户对SSL证书的发行和存在来进行审查,从而纠正基于这些证书的威胁。一个SSL/TLS证书通常包含有域名、子域名和邮件地址,这些信息的存在也往往会成为攻击者能够获得的非常有用的信息,因为它是一个开放的公共框架,任何人都可以构建或者访问去东证书透明性的基本组件,所以存在一定的安全风险。

使用crt.sh对域名进行搜索,输入“baidu.com”,搜索后发现有很多个子域名信息

crt.sh

此外,还可以利用一些在线子域名查询网站。如:
子域名爆破网站:http://phpinfo.me/domain
IP反查绑定域名网站:http://dns.aizhan.com

爬虫提取子域名

这类工具有很多,例如 BurpSuite、Appscan、AWVS都有爬虫的功能
在这里插入图片描述

burp

DNS域传送漏洞发现子域名

附带说一句,如果可以通过Kali子带的dnsenum查询不仅仅能搜集子域名,还能轻松找到一枚洞,这样子的好事何乐而不为呢?

DNS 区域传送(DNS zone transfer)是指一台备用 DNS 服务器使用来自主 DNS 服务器的数据刷新自己的域(zone)数据库,从而避免主 DNS 服务器因意外故障影响到整个域名解析服务。

一般情况下,DNS 区域传送只在网络里存在备用 DNS 服务器时才会使用;但许多 DNS 服务器却被错误地配置,只要有客户机发出请求,就会向对方提供一个 zone 数据库的详细信息。因此,不受信任的因特网用户也可以执行 DNS 区域传送(zone transfer)操作。

恶意用户可以通过 DNS 区域传送快速地判定出某个特定 zone 的所有主机,并收集域信息、选择攻击目标,进而找出未使用的 IP 地址,绕过基于网络的访问控制窃取信息。

在kali终端下直接输入dnsenum即可启动

dnsenum

工具说明及用法可参考如下:
dnsenum的目的是尽可能收集一个域的信息,它能够通过谷歌或者字典文件猜测可能存在的域名,以及对一个网段进行反向查询。它可以查询网站的主机地址信息、域名服务器、mx record(函件交换记录),在域名服务器上执行axfr请求,通过谷歌脚本得到扩展域名信息(google hacking),提取自域名并查询,计算C类地址并执行whois查询,执行反向查询,把地址段写入文件。

-h 查看工具使用帮助--dnsserver 指定域名服务器--enum 快捷选项,相当于"–threads 5 -s 15 -w"--noreverse 跳过反向查询操作--nocolor 无彩色输出--private 显示并在"domain_ips.txt"文件结尾保存私有的ips--subfile 写入所有有效的子域名到指定文件-t, --timeout tcp或者udp的连接超时时间,默认为10s(时间单位:秒)--threads 查询线程数-v, --verbose 显示所有的进度和错误消息-o ,–output 输出选项,将输出信息保存到指定文件-e, --exclude 反向查询选项,从反向查询结果中排除与正则表达式相符的PTR记录,在排查无效主机上非常有用-w, --whois 在一个C段网络地址范围提供whois查询-f dns.txt 指定字典文件,可以换成 dns-big.txt 也可以自定义字典