被动信息收集(一)——DNS收集

被动

信息收集

DNS

信息收集

DNS是最主要的服务信息暴漏来源

利用DNS信息泄漏可以获取到的信息

发现开放端口

发现子域及开放端口

DNS域名注册信息

DNS服务器区域传输

DNS域名系统

分布式树形数据库结构,逐级向下委派

ROOT根域 .

顶级域: com,org,gov,mail,cn

二级域:sina.com,baidu.com,163.com

NS、SOA、MX、A、CNAME、AAAA、PTR

CNAME 别名记录,一般一个CName记录解析结果是一个A记录

PTR 反向域名记录 IP --> 域名

SOA 起始授权记录

MX 邮件交换

NS 记录域名服务器的IP地址

CLASS:IN、CH(Chaosnet)、HS(Hesiod)

以上那么些记录都属于IN类(internet)

一般大一些的公司都会有自己的DNS服务器,比如新浪,很多老师在讲课的时候都喜欢用新浪作为例子

在Kali之中,包含了大量的DNS信息收集工具,比如Dig、host、dnsenum、dnsmap、dnsrecon、fierce等,在我看来其实这些工具的功能太过集中,并没有必要全都掌握,只掌握Dig命令就好了(虽然我把它们都学过一遍)

Passive Information

Gathering

下面我主要讲解Dig这个命令或者说工具的用法,其实之前在公众号中已经以视频的形式讲解过了

####

Dig

####

Domain Information Groper

这个工具在几乎任何Linux发行版本中都存在,不过安装的时候不能直接安装,因为它是dnsutils工具包中的一个小工具。(dnsutils中携带的域名信息查询诊断工具)

下面在模拟环境中都使用新浪为例,在下节课的实战用就是用神舟的官网了

最基本的用法

dig sina.com

指定我们查询使用的域名服务器

dig sina.com @8.8.8.8

使用@后面加域名服务器的方式进行指定

指定要查询的内容

dig sina.com A @8.8.8.8

查询A记录的内容,如果是IPv4和IPv6的混合,那么就使用 AAAA

其他的也就是相同的格式了 ,MX、NS、TXT等,如果想要全部查询,就用ANY

dig sina.com any @8.8.8.8

使用谷歌DNS服务器对域名进行各种类型的查询

202.106.0.20 这个是北京联通的DNS

不同地域查询的DNS是不同的。这个是由于智能DNS造成的

域名反查

dig -x 132.23.23.43

查询DNS服务器的Bind版本

dig +noall +answer txt chaos VERSION.BIND @ns3.dnsv4.com

查询bind版本信息可以查询dns服务器的漏洞,如果有漏洞就可以获取DNS服务器的记录,之后获得这个网站的全部DNS

域名解析追踪

区域传输

dig @ns1.example.com example.com axfr

@指定DNS服务器,之后再进行指定该DNS服务器下的域名,最后的axfr就是向目标DNS服务器发起区域传输

如果有很多网站要收集,还可以使用 -f 参数进行批量查询

还有一些参数类似+nocmd 、+answer、+question、+nssearch

这些都是跟现实筛选有一定关系的参数,大家了解就好

其实还有一个命令在Linux中也是几乎都存在,那就是host命令

host 命令

host -T -l sina.com ns3.sina.com

-T 使用TCP连接方式

-l 区域传输

当然还有其他参数,这个大家去自行学习一下就好,着重掌握一下dig命令比较好

上面着重介绍了Dig这个工具,下面我们就对于DNS信息收集其他进行一下分部分讲解

DNS字典爆破

dnsenum -f /usr/share/dnsenum/dns.txt -dnsserver 8.8.8.8 sina.com -o sina.xml

dnsmap sina.com -w dns.txt

dnsrecon -d sina.com --lifetime 10 -t brt -D dnsbig.txt

dnsrecon -t std -d sina.com

以上的几种都是用来爆破DNS的,法师之前写过的一款工具我在之前的课程中也进行介绍过,通过一个足够强大的字典的爆破后,目标的基本的网站分布信息就可以得到了。

下面既然拿到域名和ip信息,那我们就可以进行进一步对于注册人的信息进行一下收集了,此时就是我们经常用的whois查询

DNS注册信息

WHOIS

国内也有很多网站提供这种服务,比如站长之家,爱站网等

https://www.aizhan.com

Hi

Hi

Kali中DNS信息收集工具的详细用法大家按需求进行学习吧:

1.dnsenum

dns 是最主要的服务暴露信息来源

收集DNS域名信息

发现开放端口

发现子域及开放端口

DNS域名注册信息

DNS服务器区域传输

字典爆破

搜索引擎

whois查询

区域传输

dnsenum domain.com

综合性的域名信息查询工具

A 、 NS、MX记录、bind版本及区域传输

字典爆破

-f /usr/share/dnsenum/dns.txt

反向域名解析

对发现地址所在的C段进行反向查询

禁用 --noreverse

Google搜索

-s 子域数量

--dnsserver 指定我们使用的DNSserver

--noserverse 不进行反向查询

-w whois查询

--------------------------------------

2.dnsmap

只是一个字典破解dns子域名或主机记录

单线程

默认使用内建字典

dnsmap-bulk.sh domains.txt // 可以查询一系列的域名

-d 两次查询时间间隔(毫秒)

------------------------------------------

3.dnsrecon

-d 指定域名

dnsrecon -r 1.1.1.0/24 #反向

dnsrecon -D dict.txt sina.com # 字典爆破主机和子域名

dnsrecon -z -d weberdns.de

当域启动了DNSSEC,对于缺乏防护的DNS服务器,可以利用NSEC记录(配置的错误)获取区域内全部记录,无需爆破(类似区域传输)

也可以使用 -t 参数进行单项查询

-t brt #使用内建字典

-t std #默认的标准查询,先会进行区域传输测试

-t srv #只查srv记录(AD、voip电话),SRV 服务器资源记录

-t axfr #标准加axfr (-a)

-t tld #删除并尝试所有顶级域名(IANA),使用这个参数会尝试IANA定义的所有的顶级域名(.net,.gov.....)

-t goo # google查询(-g)

-t zonewalk # dnssec zone walk(-z)

--threads #线程数

--------------------------------------------

4.dnswalk

这个工具是一个DNS配置检查工具,更多的是一个面向管理者的工具

主要的用途就是发现配置问题

使用时需要开启区域传输

dnswalk -radmilF

-r 对指定域的子域进行递归查询

-a 发现重复A记录发出警告

-d 将调试状态信息输出到stderr

-m 仅检查上次运行后发生变化的记录

-F 检查PTR记录IP是否与对应A记录相符

-i 不检查域名中的无效字符

-l 检查区域文件中NS记录主机是否能返回正确的权威应答

--------------------------------------------

5.dnstracer

一个DNS追踪工具

正常域名解析过程

递归查询(客户端到DNS服务器)

迭代查询(服务器之间)

域名解析追踪

从客户端发起迭代查询,也就是说中间不在经过DNS服务器,这样在DNS服务器出现故障的时候我们也可以通过不同的DNS服务器解析结果对比进行判断,如果所有的结果不一致,那就说明不一致的那一台被劫持了

-s . 指定从根域开始查寻,如果不指定默认就从本地电脑配置的DNS服务器地址开始查询,那就没有效果了

-q 指定查询类型(默认查询A记录)

dnstracer 1.8.1版本存在缓冲区溢出漏洞,会导致拒绝服务

--------------------------------------------

6.fierce

区域传输、暴力破解 这个工具只包含这两个方面

-dns 指定域名

-wordlist dicts.txt 指定字典(默认/usr/share/fierce/hosts.txt)

-dnsserver

指定目标域的权威服务器

本地网卡配置DNS服务器其实查询SOA记录

与 -range 参数配合使用,反向查询指定IP地址段

-threads 线程数(默认1)

这个工具的工作流程是先从本地配置的DNS进行查询SOA记录,之后直接向目标的主DNS服务器进行各种查询

fierce -dns abc.com

fierce -range 199.181.132.1-254 --dnsserver sens02.dig.com (这里的DNS服务器必须是刚刚查询出来的目标的DNS)

对于DNS信息收集的方法和工具命令已经讲解完了,下一篇文章就要进行一下实战了,大家敬请期待

-END-

意大利的猫

有态度

不苟同

喜欢记得转发哦!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171220G0Z70K00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券