本次主要讲的是如何使用域名收集工具,另外如何利用工具收集更多信息,为下一步渗透做好充足准备。啰嗦这么多,下面进入正题。
网站及服务器信息
如果知道目标的域名,你首先要做的就是通过Whois数据库查询域名的注册信息,Whois数据库是提供域名的注册人信息,包括联系方式,管理员名字,管理员邮箱等等,其中也包括DNS服务器的信息。
默认情况下,Kali已经安装了Whois。你只需要输入要查询的域名即可:
利用以上收集到的邮箱、QQ、电话号码、姓名、以及服务商,可以针对性进行攻击,利用社工库进行查找相关管理员信息,另外也可以对相关DNS服务商进行渗透,查看是否有漏洞,利用第三方漏洞平台,查看相关漏洞。
Nslookup用法
nslookup是站长较为常用的工具之一,它甚至比同类工具dig的使用人数更多,原因是它的运行环境是windows,并且不需要我们再另外安装什么东西。dig是在linux环境里运行的命令,不过也可以在windows环境里使用,只是需要安装dig windows版本的程序。
Nslookup命令以两种方式运行:非交互式和交互式。本文第一次提到“交互式”的概念,简单说明:交互式系统是指执行过程中允许用户输入数据和命令的系统。而非交互式系统,是指一旦开始运行,不需要人干预就可以自行结束的系统。因此,nslookup以非交互式方式运行,就是指运行后自行结束。而交互式,是指开始运行后,会要求使用者进一步输入数据和命令。
最常用的DNS记录有以下几类
A记录 IP地址记录,记录一个域名对应的IP地址
AAAA记录 IPv6 地址记录,记录一个域名对应的IPv6地址
CNAME记录 别名记录,记录一个主机的别名
MX记录 电子邮件交换记录,记录一个邮件域名对应的IP地址
NS记录 域名服务器记录 ,记录该域名由哪台域名服务器解析
PTR记录 反向记录,也即从IP地址到域名的一条记录
TXT记录 记录域名的相关文本信息
非交互式下命令的语法是是:
nslookup [-option] [hostname] [server]
上面是帮助信息,注意两点:1) 使用type参数可以设置记录类型。 2) 使用ls命令,可以列出一个域下面所有的域名。
Hostname选项指定需要查询的主机名,比如www.sec-redclub.com。Server选项指定DNS服务器。为了查询结果的准确,可选用几个常用的公共DNS服务器:8.8.8.8是Google提供的DNS服务,114.114.114.144和114.114.115.115是114DNS提供的免费DNS服务。
下面的例子通过114.114.114.114查询域名www.sec-redclub.com的IP地址:
nslookup主要是用来查询dns服务器信息,不过,nslookup的作用绝非仅此而止,利用nslookup命令,还可以查到更多有关域名的服务器信息,IP、CNAME、TLL等等。
可以看到sec-redclub.com对应地址是121.42.173.26.
下面的例子查询sec-redclub.com使用的DNS服务器名称:
上述结果显示,外部主DNS服务器有6个。下面的例子展示如何查询邮件交换记录:
查看网站cname值。
Dig使用
可以使用dig命令对DNS服务器进行挖掘
Dig命令后面直接跟域名,回车即可
不使用选项的dig命令,只返回一个记录。如果要返回全部的记录,只需要在命令添加给出的类型:
【Dig常用选项】
1 -c选项,可以设置协议类型(class),包括IN(默认)、CH和HS。
2 -f选项,dig支持从一个文件里读取内容进行批量查询,这个非常体贴和方便。文件的内容要求一行为一个查询请求。来个实际例子吧:
3 -4和-6两个选项,用于设置仅适用哪一种作为查询包传输协议,分别对应着IPv4和IPv6。
4 -t选项,用来设置查询类型,默认情况下是A,也可以设置MX等类型,来一个例子:
5 -q选项,其实它本身是一个多余的选项,但是它在复杂的dig命令中又是那么的有用。-q选项可以显式设置你要查询的域名,这样可以避免和其他众多的参数、选项相混淆,提高了命令的可读性,来个例子:
6 -x选项,是逆向查询选项。可以查询IP地址到域名的映射关系。举一个例子:
【跟踪dig全过程】
dig非常著名的一个查询选项就是+trace,当使用这个查询选项后,dig会从根域查询一直跟踪直到查询到最终结果,并将整个过程信息输出出来
【精简dig输出】
1 使用+nocmd的话,可以节省输出dig版本信息。
2 使用+short的话,仅会输出最精简的CNAME信息和A记录,其他都不会输出。就像这样:
DNS枚举工具DNSenum
DNSenum是一款非常强大的域名信息收集工具
它能够通过谷歌或者字典文件猜测可能存在的域名,并对一个网段进行反向查询。它不仅可以查询网站的主机地址信息、域名服务器和邮件交换记录,还可以在域名服务器上执行axfr请求,然后通过谷歌脚本得到扩展域名信息,提取子域名并查询,最后计算C类地址并执行whois查询,执行反向查询,把地址段写入文件。本小节将介绍使用DNSenum工具检查DNS枚举。
在终端执行如下所示的命令:
输出的信息显示了DNS服务的详细信息。其中,包括主机地址、域名服务地址和邮件服务地址。如果幸运的话,还可以看到一个区域传输。
使用DNSenum工具检查DNS枚举时,可以使用dnsenum的一些附加选项,如下所示。
--threads [number]:设置用户同时运行多个进程数。 -r:允许用户启用递归查询。 -d:允许用户设置WHOIS请求之间时间延迟数(单位为秒)。 -o:允许用户指定输出位置。 -w:允许用户启用WHOIS请求。
subDomainsbrute二级域名收集
二级域名是指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称;在国家顶级域名下,它是表示注册企业类别的符号。我国在国际互联网络信息中心(Inter NIC) 正式注册并运行的顶级域名是CN,这也是我国的一级域名。在顶级域名之下,我国的二级域名又分为类别域名和行政区域名两类。类别域名共7个,包括用于科研机构的ac;国际通用域名com、top;用于教育机构的edu;用于政府部门的gov;用于互联网络信息中心和运行中心的net;用于非盈利组织的org。而行政区域名有34个,分别对应于我国各省、自治区和直辖市。(摘自百度百科)
因为主域名防御比较强,而二级域名可能更好欺负些。
Usage: subDomainsBrute.py [options] target.com
Options:
-h, --help show this help message and exit
-t THREADS_NUM, --threads=THREADS_NUM Number of threads. default = 30
-f NAMES_FILE, --file=NAMES_FILE Dict file used to brute sub names
-i, --ignore-intranet Ignore domains pointed to private IPs.
-o OUTPUT, --output=OUTPUT Output file name. default is {target}.txt
以上为工具默认参数,如果是新手,请直接跟主域名即可,不用进行其它设置。
Python subDomainsbrute.py sec-redclub.com
就可以直接运行,等待结果,最后在工具文件夹下面存在txt文件,直接导入扫描工具就可以进行扫描了。
layer子域名检测工具
layer子域名检测工具主要是windows一款二级域名检测工具,利用爆破形式。
工具作者:http://www.cnseay.com/4193/
域名对话框直接输入域名就可以进行扫描了,工具显示比较细致,有域名、解析ip、cnd列表、web服务器和网站状态,这些对于一个安全测试人员,非常重要。
如下操作:
回显示大部分主要二级域名。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!