信息收集介绍
进行web渗透测试之前,最重要的一步那就是就是信息收集了,俗话说“渗透的本质也就是信息收集”,信息收集的深度,直接关系到渗透测试的成败。打好信息收集这一基础可以让测试者选择合适和准确的渗透测试攻击方式,缩短渗透测试的时间。一般来说收集的信息越多越好,通常包括以下几个部分:
域名信息收集
子域名信息收集
站点信息收集
敏感信息收集
服务器信息收集
端口信息收集
真实IP地址识别
社会工程学
这篇文章我们对于域名信息和子域名信息进行讲解,其他的后几篇补上。
域名信息收集
域名,又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
顶级域名/一级域名:
顶级域,是互联网DNS等级之中的最高级的域,它保存于DNS根域的名字空间中。顶级域名是域名的最后一个部分,即是域名最后一点之后的字母,例如在http://www.example.com这个域名中,顶级域是.com。
二级域名:
除了顶级域名,还有二级域名,就是最靠近顶级域名左侧的字段。例如在http://www.example.com这个域名中,example就是二级域名。
子域名:
子域名是在域名系统等级中,属于更高一层域的域。比如,mail.example.com和calendar.example.com是example.com的两个子域,而example.com则是顶级域.com的子域。凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。
一般来说,在做渗透测试之前,渗透测试人员能够了解到的信息有限,一般也就只知道一个域名,这就需要渗透测试人员首先要针对一个仅有的域名进行信息搜集,获取域名的注册信息,包括该域名的DNS服务器信息、子域信息和注册人的联系信息等信息。可以用以下几种方法来收集域名信息。
Whois 查询
whois是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库,不同域名后缀的Whois信息需要到不同的Whois数据库查询。通过whois来实现对域名信息的查询,可以得到注册人的姓名和邮箱信息通常对测试个人站点非常有用,因为我们可以通过搜索引擎和社交网络挖掘出域名所有人的很多信息。
(1)在线查询
如今网上出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询。网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令列接口的工具仍然被系统管理员广泛使用。whois通常使用TCP协议43端口。每个域名/IP的whois信息由对应的管理机构保存。
常见的网站包括:
Whois站长之家查询:http://whois.chinaz.com/
阿里云中国万网查询:https://whois.aliyun.com/
Whois Lookup 查找目标网站所有者的信息:http://whois.domaintools.com/
Netcraft Site Report 显示目标网站上使用的技术:http://toolbar.netcraft.com/site_report?url=
Robtex DNS 查询显示关于目标网站的全面的DNS信息:https://www.robtex.com/
全球Whois查询:https://www.whois365.com/cn/
站长工具爱站查询:https://whois.aizhan.com/
示例:下面是使用站长之家Whois查询freebuf域名的相关信息:
(2)使用kali中的whois工具查询
在Kali Linux下自带的Whois查询工具,通过命令Whois查询域名信息,只需输入要查询的域名即可,如下图所示。
备案信息查询
网站备案信息是根据国家法律法规规定,由网站所有者向国家有关部门申请的备案,是国家信息产业部对网站的一种管理途径,是为了防止在网上从事非法网站经营活动,当然主要是针对国内网站。
在备案查询中我们主要关注的是:单位信息例如名称、备案编号、网站负责人、法人、电子邮箱、联系电话等。
常用的备案信息查询网站有以下几个:
ICP/IP地址/域名信息备案管理系统:http://beian.miit.gov.cn/publish/query/indexFirst.action
ICP备案查询网:http://www.beianbeian.com/
备案吧吧:https://www.beian88.com/
天眼查:https://www.tianyancha.com/
子域名信息收集
子域名是在域名系统等级中,属于更高一层域的域。比如,mail.example.com和calendar.example.com是example.com的两个子域,而example.com则是顶级域.com的子域。凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。
为什么要收集子域名
子域名枚举可以在测试范围内发现更多的域或子域,这将增大漏洞发现的几率。
有些隐藏的、被忽略的子域上运行的应用程序可能帮助我们发现重大漏洞。
在同一个组织的不同域或应用程序中往往存在相同的漏洞
假设我们的目标网络规模比较大,直接从主域入手显然是很不理智的,因为对于这种规模的目标,一般其主域都是重点防护区域,所以不如先进入目标的某个子域,然后再想办法迂回接近真正的目标,这无疑是个比较好的选择。
收集子域名的方法有以下几种:
利用搜索引擎查询
我们可以利用Google语法搜索子域名,我们以百度的域名为例,使用“site:baidu.com”语法,如下图所示。
利用在线工具查询
网上有很多子域名的查询站点,可通过它们检索某个给定域名的子域名。如:
DNSdumpster:https://dnsdumpster.com/
whois反查:http://whois.chinaz.com/
virustotal:www.virustotal.com
子域名爆破:https://phpinfo.me/domain/
IP反查绑定域名:http://dns.aizhan.com/
https://hackertarget.com/find-dns-host-records/
https://site.ip138.com
我们用DNSdumpster查询nasa的子域名:
通过证书透明度公开日志枚举子域名
证书透明度是证书授权机构的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址,这些也经常成为攻击者非常希望获得的有用信息。
查找某个域名所属证书的最简单的方法就是使用搜索引擎来搜索一些公开的CT日志,例如以下网站:
crt.sh:https://crt.sh
censys:https://censys.io
利用工具枚举子域名
kali上的工具
在kali中的信息收集模块的DNS分析中,有很多工具可以进行域名信息收集,如上图。
Dnsenum:域名信息收集
Dnsmap:收集信息和枚举DNS信息
Dnsrecon:用于DNS侦察
Fierce :子域名查询
whois查询
我们可以利用Fierce工具,进行子域名枚举。该工具首先测试是否有域传送漏洞,若存在则应该直接通过域传送搜集子域信息,没有域传送漏洞则采用爆破的方式。
使用方法:
fierce -dns <域名>
fierce -dns <域名> -threads 100 // threads 是线程数,可以自己指定
Windows上的工具
Windows上的子域名查询工具主要由:
Layer子域名挖掘机
subDomainsbrute
K8
Sublist3r
Maltego
subDomainsbrute工具可以用于二级域名收集,下载地址:https://github.com/lijiejie/subDomainsBrute
Python3环境下运行需要安装aiodns库。使用该工具的命令执行如下:
python3 subDomainsBrute.py xxxx.com
收集完后,会将收集结果写入一个域名对应的文件中:
除了subDomainsbrute工具,Layer子域名挖掘机也是十分强大的,用它收集子域名将详细的显示域名、解析IP、CDN列表、Web服务器和网站状态等信息:
(静待后续更新,尽快)
原文始发于微信公众号(林言的安全圈):渗透--信息收集1
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论