第六章(二)—信息收集(DIG)

DIG

很多功能类似nslookup,但是又强大于nslookup。

例:

dig sina.com any @8.8.8.8

在这里插入图片描述
在现实渗透测试中可以使用多个不同的DNS服务器查询(8.8.8.8可以换成多个不同的)。


筛选条件

可以对结果做筛选,加筛选条件:

dig +noall mail.163.com 
#noall 什么都不输出

在这里插入图片描述


dig +noall +answer mail.163.com 
#noall 什么都不输出
#answer 只看answer条件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

反向查询
-x #反向查询

先查询163的邮件域名服务器记录
在这里插入图片描述
反向查询,但是解析到的域名跟上图不一样,是没错的,一个ip可以对应多个域名。
在这里插入图片描述

可查询DNS服务器bind的版本信息

提供DNS服务的软件包通常都是bind,也有其他的软件包,但大多数都是基于bind二次开发的。

查询DNS服务器bind版本信息,如果这个bind版本很老,而且存在漏洞,就有机会去利用这个漏洞,把这个DNS服务器中的记录全都下载罗列出来。

目的:
就是为了查询DNS服务器的漏洞,那些补丁没打,然后针对这些漏洞获取所有DNS的记录。

dig +noall +answer txt chaos VERSION.BIND @域名

在这里插入图片描述
很多都查不到bind信息。从安全角度,应该这样隐藏bind版本信息。

DNS追踪

通过跟踪,我的主机不会直接向本地DNS解析服务器发请求,而是直接向根域发起请求。在这个过程中,他直接向根域、com服务器等直接通信,所以我们抓包的话,就会发现访问的域名服务器他的地址是否有问题。
eg:

dig +trace www.sina.com

实例:Wireshark+dig追踪
1.开启抓包软件,运行dig追踪命令进行抓包。
在这里插入图片描述
在这里插入图片描述
2.查看本机的DNS服务器地址:
在这里插入图片描述
3.筛选抓包条件为DNS,从第一个包开始分析
在这里插入图片描述
做了迭代查询,但是迭代的过程并没有把本地DNS服务器甩开,他向本地localDNS服务器查的是NS记录。因为默认的我们的PC电脑是不知道13个根域的域名服务器的名称和ip地址是什么,如果我们要向.域的根域名服务器做查询,com,sina.com逐级去查的话,就需要知道这个信息。
所以首先还是向本地的运营商电信还是网通等,他们的DNS服务器去查询,让他们告诉我根域的域名服务器的名称、地址是什么,而本地的运营商DNS服务器(全世界所有DNS服务器)都有这13个根域的域名服务器的名称跟ip地址的对应关系(所有的DNS服务器的数据库中都有root的NS记录名称、地址)。

所以第一个包就是向本地的DNS服务器查root的NS记录:
Queries:查询内容

在这里插入图片描述
本地的DNS服务器就会向我们返回结果。
Answer:返回结果
在这里插入图片描述
我本机拿到这些根域域名服务器的名称,但我本机还不知道他们各自对应的ip地址。所以还没有办法和根域服务器通信。所以我本机的ip地址还是会向本地DNS运营商服务器发出查询。我先查的是A记录:“h.root-servers.net”对应的ip地址是什么。
在这里插入图片描述

然后又查了一个,AAAA记录:ipv6下的A记录。即ipv6解析成什么地址。
在这里插入图片描述
然后本地运营商DNS服务器就向我返回结果:
在这里插入图片描述
在这里插入图片描述
陆续查其他的根域…

下一步本机会从13个根域域名服务器中随机挑选一个根域的ip地址,作为我查询的目标服务器,查“www.sina.com对应的ip地址是谁?”我要查的是A记录
在这里插入图片描述
“202.12.27.33”对应的根域服务器会向我返回一个结果。但是他没给我返回A记录,返回的是com域的NS记录以及NS记录对应的域名服务器名称。
命令中追踪到的是这几个com域返回的结果,抓包中也是在Authoritative nameservers中显示的这些结果,同时还有一个额外记录“Additional records”,这里面是是“Authoritative nameservers”中每一条对应的ip地址记录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按理说我的本地ip地址可以向随机一个com域发起请求,但是向下看,我的本地ip地址又向本地运营商的DNS服务器又逐个发起请求,查所有com域服务器的名称对应的ip地址。等于说,我本机并不相信root给我返回的com域名服务器结果。所以他又通过本地DNS服务器查询一遍确认结果。
在这里插入图片描述
在这里插入图片描述
响应结果:
在这里插入图片描述

逐个查询后,我的本地ip随机选择了一个com域的ip地址中,向它发出查询,查询www.sina.com
在这里插入图片描述
com的域名服务器又向我返回一个结果,没给我返回A记录,因为DNS是一个分布式的层级化的数据库结构,它里面没有A记录,所以不会返回“www.sina.com”的A记录,他返回的结果是“sina.com”的NS记录。
在这里插入图片描述
和抓包是相对应的。
在这里插入图片描述
同时也在这个暴力给出了sina.com的NS记录对应的ip地址。
在这里插入图片描述
同上。我得本机ip不相信com域返回给我的结果,又会重新向本地DNS记录发出查询结果,本地DNS服务器会给我返回结果。这里就不做截图分析。当逐个发包查询完成之后,我得本地IP地址会随机向其中一个“sina.com”的NS记录对应的ip地址去查询“www.sina.com”的A记录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上是迭代查询

--------------------------------------------------------------------------------------------------------------------------------------------------------------------递归查询:
在这里插入图片描述
在这里插入图片描述

发布了28 篇原创文章 · 获赞 0 · 访问量 900

猜你喜欢

转载自blog.csdn.net/weixin_43876557/article/details/104619012
今日推荐