3.1. 域名信息
3.1.1. Whois
Whois 可以查询域名是否被注册,以及注册域名的详细信息的数据库,其中可能会存在一些有用的信息,例如域名所有人、域名注册商、邮箱等。
3.1.2. 搜索引擎搜索
搜索引擎通常会记录域名信息,可以通过 site: domain
的语法来查询。
3.1.3. 第三方查询
网络中有相当多的第三方应用提供了子域的查询功能,下面有一些例子,更多的网站可以在 8.1 工具列表 中查找。
- DNSDumpster
- Virustotal
- CrtSearch
- threatminer
- Censys
3.1.4. ASN信息关联
在网络中一个自治系统(Autonomous System, AS)是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(例如一所大学,一个企业或者一个公司个体)。
一个自治系统有时也被称为是一个路由选择域(routing domain)。一个自治系统将会分配一个全局的唯一的16位号码,这个号码被称为自治系统号(ASN)。因此可以通过ASN号来查找可能相关的IP,例如:
- whois -h whois.radb.net -- '-i origin AS111111' | grep -Eo "([0-9.]+){4}/[0-9]+" | uniq
- nmap --script targets-asn --script-args targets-asn.asn=15169
3.1.5. 域名相关性
同一个企业/个人注册的多个域名通常具有一定的相关性,例如使用了同一个邮箱来注册、使用了同一个备案、同一个负责人来注册等,可以使用这种方式来查找关联的域名。一种操作步骤如下:
- 查询域名注册邮箱
- 通过域名查询备案号
- 通过备案号查询域名
- 反查注册邮箱
- 反查注册人
- 通过注册人查询到的域名在查询邮箱
- 通过上一步邮箱去查询域名
- 查询以上获取出的域名的子域名
3.1.6. 网站信息利用
网站中有相当多的信息,网站本身、各项安全策略、设置等都可能暴露出一些信息。
网站本身的交互通常不囿于单个域名,会和其他子域交互。对于这种情况,可以通过爬取网站,收集站点中的其他子域信息。这些信息通常出现在JavaScript文件、资源文件链接等位置。
网站的安全策略如跨域策略、CSP规则等通常也包含相关域名的信息。有时候多个域名为了方便会使用同一个SSL/TLS证书,因此有时可通过证书来获取相关域名信息。
3.1.7. 证书透明度
为了保证HTTPS证书不会被误发或伪造,CA会将证书记录到可公开验证、不可篡改且只能附加内容的日志中,任何感兴趣的相关方都可以查看由授权中心签发的所有证书。因此可以通过查询已授权证书的方式来获得相关域名。
3.1.8. 域传送漏洞
DNS域传送(zone transfer)指的是冗余备份服务器使用来自主服务器的数据刷新自己的域(zone)数据库。这是为了防止主服务器因意外不可用时影响到整个域名的解析。
一般来说,域传送操作应该只允许可信的备用DNS服务器发起,但是如果错误配置了授权,那么任意用户都可以获得整个DNS服务器的域名信息。这种错误授权被称作是DNS域传送漏洞。
3.1.9. Passive DNS
Passive DNS被动的从递归域名服务器记录来自不同域名服务器的响应,形成数据库。利用Passive DNS数据库可以知道域名曾绑定过哪些IP,IP曾关联到哪些域名,域名最早/最近出现的时间,为测试提供较大的帮助。Virustotal、passivetotal、CIRCL等网站都提供了Passive DNS数据库的查询。
3.1.10. SPF记录
SPF(Sender Policy Framework)是为了防止垃圾邮件而提出来的一种DNS记录类型,是一种TXT类型的记录,用于登记某个域名拥有的用来外发邮件的所有IP地址。通过SPF记录可以获取相关的IP信息。
3.1.11. CDN
3.1.11.1. CDN验证
可通过多地ping的方式确定目标是否使用了CDN,常用的网站有 http://ping.chinaz.com/
https://asm.ca.com/en/ping.php
等。
3.1.11.2. 域名查找
使用了CDN的域名的父域或者子域名不一定使用了CDN,可以通过这种方式去查找对应的IP。
3.1.11.3. 历史记录查找
CDN可能是在网站上线一段时间后才上线的,可以通过查找域名解析记录的方式去查找真实IP。
3.1.12. 子域爆破
在内网等不易用到以上技巧的环境,或者想监测新域名上线时,可以通过批量尝试的方式,找到有效的域名。