一、为什么要收集子域名
二、子域名收集的方法
1、爆破
原理:通过字典匹配枚举存在的域名
在kali中运用subDomainsBrute
(1)、下载subDomainsBrute
命令:git clone https://github.com/lijiejie/subDomainsBrute
(2)、查询是否有subDomainsBrute.py文件
(3)、给subDomainBrute.py加一个执行的权限
(4)、使用工具,对域名进行探测
注意:禁止对非授权域名进行探测、爆破,避免触犯国家相关法律规定。
由图可见,结果输出到sangfor.com.cn.txt文件上
2、搜索引擎
原理:通过搜索引擎获取已经爬取的子域名
(1)site:+域名
(2)、theHarvester工具
可以获取子域名、邮箱、主机、员工信息等
-d 指定域名
-g 使用google搜索
-s 使用shodan搜索
-b 指定某一种或全部(all)搜索。如果要使用shodan
、github
等引擎搜索,需要设置对应的API-key,对应的文件是api-keys.yaml
,路径为/etc/theHarvester
目录下。
使用bing
搜索引擎进行搜索,如下图所示:
使用dns爆破:-c
(3)、aquatone
不止通过简单的子域名爆破,同时还会利用各种开放的互联网服务和资源,来增加子域名爆破的几率
分为3个阶段:发现、扫描、收集
aquatone-discover(发现)
从图中可见,主要涉及几个重要参数:
-d,指定目标域名
--nameservers,指定使用的名字服务器
-t,指定查询线程数
上图是工具查询到的信息回显,扫描完成后,会在目录中生成结果文件夹,名称与目标域名一致。
aquatone-scan (扫描)
经过发现阶段获取到的域名,然后扫描域名主机存活和开放的端口
-d,指定域名,此处域名需与 discover 节点扫描的内容一致
-p,指定扫描的端口,使用逗号分隔
-t,指定线程数
-s,指定发送请求时,间隔2秒
如果想要扫描特定的域名,则需要修改 发现阶段生成的两个文件
aquatone-gather
经过扫描发现存活的域名和端口,aquatone-gather将自动访问存活的域名并截图
命令:aquatone-gather -d 域名
3、域传送
危害:黑客可以快速的判定某个特定zone的所有主机,收集域信息,选择攻击目标,找出未使用的IP地址,黑客可以绕过基于网络的访问控制
(1)、dig @server axfr 域名
(2)nslookup->进入交互->server 域名-> ls 域名
(3)fierce -dns 域名
4、子域名在线收集网站
DNSdumpster.com - dns recon and research, find and lookup dns records