Nmap扫描教程之DNS服务类

Nmap扫描教程之DNS服务类NmapDNS服务类

DNS(Domain Name System,域名系统)的作用就是将主机名解析为对应IP地址的过程。通常主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。所以,DNS服务器在解析一个主机名时,需要一级一级的进行解析,即递归查询。为了方便用户下次访问,DNS服务器会将解析过的主机名临时缓存。通过对DNS服务器进行扫描,可以获取到一些基本信息。如版本、服务器地址及缓存的域名等。本节将介绍DNS服务扫描方法。

Nmap获取DNS信息

通过请求DNS服务器的ID,并且访问ID,可以获取DNS名称服务的相关信息。在Nmap中,dns-nsid脚本可以用来发送ID请求,并且获取DNS的详细信息。其中,包括NSID、ID的服务及版本。dns-nsid脚本的语法格式如下所示:

nmap -sSU -p 53 –script dns-nsid [目标]

以上语法中的“-sSU”选项表示进行UDP和TCP SYN扫描。

【示例1-4】获取目标主机RHEL 6.4上DNS信息。执行命令如下所示:

从以上输出信息中,可以看到获取到目标主机上DNS服务的版本信息为9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6。

Nmap DNS服务发现协议

DNS服务发现协议允许客户端发现一个服务器列表。通过发送DNS-SD查询广播包,可以从响应包中获取到一个服务列表。在Nmap中,broadcast-dns-service-discovery脚本可以发送DNS-SD广播包,并且获取一个服务列表。其中,语法格式如下所示:

nmap –script=broadcast-dns-service-discovery

【示例1-5】使用broadcast-dns-service-discovery脚本发送DNS-SD广播包。执行命令如下所示:

从以上输出信息中,可以看到收到一个地址为192.168.1.101主机的响应包。从该响应包中,可以看到目标主机192.168.1.101上有一个使用DNS服务发现协议的服务。其中,服务名称为nvstream、端口号为47989、协议为TCP、服务的地址为192.168.1.101。

Nmap探测主机是否允许DNS递归查询

DNS服务器的主要作用就是进行域名解析。DNS进行域名解析时,通常会使用递归查询和迭代查询。其中,递归查询是最常见的查询方式。在Nmap中,dns-recursion脚本可以用来探测一台主机是否允许DNS递归查询。其中,语法格式如下所示:

nmap -sU -p 53 –script=dns-recursion [目标]

【示例1-6】探测目标主机RHEL 6.4是否允许DNS递归查询。执行命令如下所示:

从输出的信息,可以看到目标主机上的DNS递归查询已开启。

Nmap枚举DNS服务器的主机名

主机名就是计算机的名字,网上邻居就是根据主机名来识别的,该名字可以随时更改。通过暴力破解通用的子域,可以枚举DNS服务器的主机名。在Nmap中,dns-brute脚本可以枚举DNS服务器的主机名。其中,语法格式如下所示:

nmap –script dns-brute –script-args dns-brute.domain=[域名],dns-brute.threads=[number],dns-brute.hostlist=[主机名列表],newtargets -sS -p 80 [域名]

以上语法中“dns-brute.domain”参数是用来指定破解的域名,如baidu.com;“dns-brute.threads”参数是用来指定破解的线程数,默认是5;“dns-brute.hostlist”参数是用来指定一个主机名列表文件的,用于dns-brute脚本进行破解。默认,破解使用的主机名列表文件是/usr/share/nmap/nselib/data/vhosts-default.lst文件。当然,以上参数也可以不指定。

【示例1-7】枚举DNS服务器benet.com的主机名。执行命令如下所示:

从以上输出信息中,,可以看到枚举出的DNS服务器benet.com所有域名及域名对应的IP地址。例如,主机名为admin.benet.com的IP地址是69.172.201.208。

NmapDNS缓存探测

DNS缓存就是当用户访问某个网址后,操作系统将会把该地址记录到缓存中,方便用户下次访问。这样,就可以节省用户每次访问时,多次解析时间了。但是,这个缓存只是临时缓存,超过设定的时间将会被清除。在Nmap中,dns-cache-snoop脚本可以探测一个主机中的DNS缓存条目。其语法格式如下所示:

nmap -sU -p 53 –script dns-cache-snoop.nse –script-args ‘dns-cache-snoop.mode=timed,dns-cache-snoop.domains={host1,host2,host3}’

以上语法中“-sU”选项表示扫描UDP端口;“-p”选项指定的是DNS协议默认的端口53;“dns-cache-snoop.mode”参数是用来指定运行模式的,可设置的模式有两种,分别是nonrecursive和timed。其中,nonrecursive是默认模式。“dns-cache-snoop.domains”选项表示可以指定探测缓存的主机名。如果同时指定多个主机名时,中间使用逗号分割。

【示例1-8】探测目标主机RHEL 6.4上的DNS缓存条目。执行命令如下所示:

从以上输出信息中,可以看到探测了100个域名,其中有一个被缓存。从输出信息中,可以看到缓存的主机名为。

Nmap探测主机是否支持黑名单列表

这里所说的黑名单就是指支持防止DNS反垃圾和打开proxy黑名单。在Nmap中,dns-blacklist脚本可以探测目标主机是否支持防止DNS反垃圾和打开proxy黑名单。其中,语法格式如下所示:

nmap -sn –script dns-blacklist [目标]

以上语法中“-sn”选项表示不进行Ping扫描。

【示例1-9】探测目标主机RHEL 6.4是否支持黑名单列表。执行命令如下所示:

从以上输出信息中,可以看到目标主机支持防止DNS反垃圾和打开proxy黑名单。

本文选自:Nmap扫描实战教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!

谁说的,人非要快乐不可,好像快乐由得人选择。

Nmap扫描教程之DNS服务类

相关文章:

你感兴趣的文章:

标签云: