子域名搜集思路与技巧梳理

发表于:2016-10-20 17:20:53 来源:  黑客与极客 阅读数(0人)

前言


本文适合Web安全爱好者,其中会提到8种思路,7个工具和还有1个小程序,看本文前需要了解相关的Web基础知识、子域名相关概念和Python 程序的基础知识。


首先我们引用一句名言作为开篇:


在渗透测试中,信息搜集能力的差距,不明显,也最明显。

而在技术分享上,我们觉得授之以鱼之前,更重要的是授之以渔。因此本篇文章首先进行子域名搜集思路的梳理,抛砖引玉,然后介绍一下常用的工具,最后分享一个基于 HTTPS 证书的子域名查询小工具。


思路梳理及操作图示


1、Web子域名猜测与访问尝试


最简单的一种方法,对于 Web 子域名来说,猜测一些可能的子域名,然后浏览器访问下看是否存在。




2、搜索引擎查询


比如 site:163.com




3、查询DNS的一些解析记录


如查询 MX、CNAME 记录等


比如用 nslookup 命令


nslookup -qt=any bing.com


还有一种基于DNS查询的暴力破解,举个栗子,比如用 nslookup 命令挨个查询猜测的子域名,看能否查询到结果。


4、爬虫爬取页面提取子域名


可以利用爬虫从页面源代码中提取子域名


以 burp 的爬虫为例:




5、crossdomain.xml 文件




6、通过 IP 反查(类似于旁站查询)


至于 IP 如何获取,也会有一些玩法,有机会咱们再梳理。




7、通过 HTTPS 证书搜集




8、一些漏洞的利用


如: DNS 域传送漏洞


常用工具梳理


1、在线工具


有很多子域名的查询站点,可以搜索“子域名查询”寻找,如:


1)http://i.links.cn/subdomain/ 可查询二级、三级等子域名




2)http://dns.aizhan.com/ 查询同 IP 绑定了哪些域名




3)https://crt.sh/ 根据 HTTPS 证书查询子域名




2、本地工具


1)Layer 子域名挖掘机




2)wydomain


猪猪侠:https://github.com/ring04h/wydomain




3)subDomainsBrute


lijiejie:https://github.com/lijiejie/subDomainsBrute




4)Sublist3r


aboul3la: https://github.com/aboul3la/Sublist3r




小程序分享


最后分享下团队小伙伴 Oritz 写的基于 HTTPS 证书的子域名收集练习小程序 “GetDomainsBySSL.py” ,程序异常处理之类的还没完善,感兴趣的小伙伴可以当做例子继续开发哦。


下载链接:Youdao


程序原理:集成了 crt.sh 和 Google 的查询接口,以及调用 OpenSSL 去解析 HTTPS 证书的信息(需要说明的是,Google 的查询接口可能需要代理访问,而 OpenSSL 模块在 Linux 下通常自带)。


程序依赖的模块:


1)lxml:https://pypi.python.org/pypi/lxml/2.3/

2)OpenSSL

Windows下运行(没有OpenSSL的情况运行):




Linux下运行(kali自带了OpenSSL模块):




好了,时间过得真快,又到了说再见的时候。今天的小分享就到这里,一句话概括就是8 种思路,7 个工具,还有 1个小程序,欢迎交流讨论哦~


相关新闻

大家都在学

课程详情

网络攻击与对抗

课程详情

网络攻防工具

课程详情

Python编程指南