子域名挖掘艺术

Posted by grt1stnull on 2017-06-03

0x00.前言

在渗透测试过程中,如果主站没有可以利用的漏洞点,这时候应该怎么办?放弃吗?不,我们通常寻找域名下的子域名。或是子域名站与主站在同一台服务器上,或是子域名的服务器与主站服务器在同一内网,我们可以在内网里搞一波事情。

下面介绍几种子域名挖掘的方法。

0x01.爆破&&枚举

这种方法几乎无坚不摧,只要子域名存在就会被找出来。

这种方法也很简单,只需要1个字典,几个dns服务器的ip及多线程、多进程或者异步的请求组织即可开始运作。同样的,nmap也有子域名爆破的脚本以供使用。

唯一的缺点只是不够优雅而已。

常见的工具太多了,比如dnsbruteLayer 子域名挖掘机subDomainsBrute

0x02.dns域传送

DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因意外故障变得不可用时影响到整个域名的解析。一般来说,DNS区域传送操作只在网络里真的有备用域名DNS服务器时才有必要用到,但许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息,所以说允许不受信任的因特网用户执行DNS区域传送(zone transfer)操作是后果最为严重的错误配置之一。

区域传送漏洞的危害:黑客可以快速的判定出某个特定zone的所有主机,收集域信息,选择攻击目标,找出未使用的IP地址,黑客可以绕过基于网络的访问控制。

0x03.https证书

随着https的普及,越来越多的网站申请证书,做全站https,我们可以利用这一点。

1.Google透明度报告

由于导致证书以及签发证书的CA容易遭到入侵和操纵,Google的Certificate Transparency项目旨在通过提供一个用于监测和审核HTTPS证书的开放式框架来保障证书签发流程的安全。签发证书的CA将会将其签发的证书记录公开。

网址在:https://www.google.com/transparencyreport/https/ct/?hl=zh-CN#domain=qq.com&incl_exp=false&incl_sub=true

利用工具有GSDF(https://github.com/We5ter/GSDF)

2.cnsys

同样的,对证书进行搜素。

网址在:https://censys.io/certificates?q=qq.com

3.总结

这种方法很高效。缺点是很多互联网公司使用https,可以通过查询证书查到子域名,但是对于刚上线测试还没部署证书的子域名测试站以及不用https政府学校网站无可奈何。

0x04.搜索引擎

类似于google hack,比如在搜索引擎输入site:qq.com,之后对搜索结果进行提取去重。

0x05.api

也可以利用一些网站提供的api进行子域名查询,比如http://subdomain.chaxun.la/、http://i.links.cn/subdomain/

更多的可以参看猪猪侠的:https://github.com/ring04h/wydomain/tree/wydomain2/utils

0x06.总结

实际上爆破是最有效的方式,推荐chu牛写的dnsbrute。猪猪侠的wydomain也非常强势。但是我还是喜欢小清新一点的DomainSeeker