DNS

错误的域名服务器配置可能泄露域名相关信息

相关网址:

https://www.ietf.org/rfc/rfc1035.txt

https://resources.infosecinstitute.com/topic/dns-hacking

 

1 DNS Basics

DNS使用本地缓存或服务器存在的区域文件将域名转换为IP地址

zone file(区域文件)是服务器上包含不同资源记录(Resource Records (RR))条目的文件,这些记录提供了关于域的信息

 

1.1 解析过程

1 客户端查看本地缓存

Windows: ipconfig /displaydns

2 客户端查看本地hosts文件

3 客户端向本地域名服务器查询

    3.1 本地域名服务器存在相应缓存则响应查询结果给客户端

    3.2 本地域名服务器不存在相应缓存,则根据配置的查询方式进行迭代查询或递归查询,然后将结果响应给客户端

1.2 查询方式

递归查询(当服务器存在缓存信息时直接响应)

  1 客户端向本地域名服务器发送请求

  2 本地域名服务器向根域名服务器发送请求

  3 根域名服务器向顶级域名服务器发送请求

  4 顶级域名服务器向权限域名服务器发送请求

  5 权限域名服务器响应结果给顶级域名服务器

  6 顶级域名服务器响应结果给根域名服务器

  7 根域名服务器响应结果给本地域名服务器

  8 本地域名服务器响应结果给客户端
          当服务器不存在相关信息时,服务器则作为客户端发送查询请求

迭代查询(本地域名服务器未存在缓存信息,否则直接响应)

  1 客户端向本地域名服务器发送请求

  2 本地域名服务器向根域名服务器发送请求,根域名服务器响应顶级域名服务器地址

  3 本地域名服务器向顶级域名服务器发送请求,顶级域名服务器响应权限域名服务器地址

  4 本地域名服务器向权限域名服务器发送请求,权限域名服务器响应结果或响应下一级域名服务器地址继续查询

  5 本地域名服务器将获取的查询结果响应给客户端

  这里的步骤1实际是递归查询,因为后续都是本地域名服务器代替客户端进行查询

 

1.3 常见工具

Windows: nslookup

Linux: nslookup dig

nslookup中Non-authoritative answer  说明当前的dns解析是从外部服务器获取的

 

 

2 Resource records and the Zone file

2.1 zone file的开头必须是SOA(Start of Authority)记录

SOA包括域的权威名称服务器和名称服务器管理员的电子邮件地址,详情见RFC1035-3.2.13

 

2.2 resource record分类(class),详情见RFC1035-3.2.3

TYPE

value

meaning

说明

IN

1

the Internet

互联网

CS

2

the CSNET class (Obsolete - used only for examples in some obsolete RFCs)

CSNET类(过时的-仅用于某些过时的rfc中的示例)

CH

3

the CHAOS class

CHAOS类

HS

4

Hesiod [Dyer 87]

 

 

2.3 resource record类型(type),详情见RFC1035-3.2.2

TYPE

value

meaning

说明

A

1

a host address

域下的主机地址

NS

2

an authoritative name server

权威域名服务器(某个域的域名解析服务器)

MD

3

a mail destination (Obsolete - use MX)

邮件目的地(过时-使用MX)

MF

4

a mail forwarder (Obsolete - use MX)

邮件转发器(过时-使用MX)

CNAME

5

the canonical name for an alias

别名

SOA

6

marks the start of a zone of authority

标志着一个权威区域的开始,zone file起始部分

MB

7

a mailbox domain name (EXPERIMENTAL)

邮箱域名(实验)

MG

8

a mail group member (EXPERIMENTAL)

邮件组成员(实验)

MR

9

a mail rename domain name (EXPERIMENTAL)

邮件重命名域名(实验)

NULL

10

a null RR (EXPERIMENTAL)

空RR(实验)

WKS

11

a well known service description

众所周知的服务描述

PTR

12

a domain name pointer

域名指针,通过ip地址反向查询域名

HINFO

13

host information

主机信息

MINFO

14

mailbox or mail list information

邮箱或邮件列表信息

MX

15

mail exchange

邮件交换

TXT

16

text strings

文本

2.4 QTYPE

查询的类型

TYPE

value

meaning

说明

AXFR

252

A request for a transfer of an entire zone

请求整个区域转移,用于信息信息

MAILB

253

A request for mailbox-related records (MB, MG or MR)

请求邮箱相关的记录

MAILA

254

Arequest for mail agent RRs (Obsolete - see MX)

请求邮件代理资源记录

*

255

A request for all records

请求所有的记录

 

2.5 QCLASS

查询的类

TYPE

value

meaning

说明

*

255

any class

查询所有类别

 

 

2.6 使用(仅个人推测,有误请及时指出)

当注册域名后,需要在域名注册商网站内维护域名的各类信息,通过填写不同RR分类的信息来告知注册商相关信息

A 当前域名对应的IP地址

MX 向当前域发送邮件时,对应的邮件服务器

NS 当前域的权威域名服务器

后续访问该域内主机时,顶级域名服务器则将该权威域名服务器地址响应给客户端,客户通过该权威域名服务器查询对应的域名IP

...

最初的信息都是通过注册商进行维护的,后续可以搭建我们自己的权威域名服务器

 

3 DNS Lookup and Reverse DNS Lookup

3.1 使用dig进行正向查询

查询www.baidu.com

1 根域名服务器查询

# dig

 

2 顶级域名服务器查询(com)

# dig @e.root-servers.net. com

 

3 权威域名服务器查询

# dig @l.gtld-servers.net. baidu.com.

 

4 使用权威域名服务器进行域名查询

# dig @ns2.baidu.com. www.baidu.com

 

可以看出www.baidu.com是一个别名

5 使用a.shifen.com.权威域名服务器进行查询

# dig @ns2.a.shifen.com. www.a.shifen.com

 

6 验证查询结果

# ping www.baidu.com

 

 

3.2 使用dig进行逆向查询

反向查询本质是查询域名服务器中PTR类型的记录,因此查询并不是百分百成功

查询格式: dig [倒序ip].in-addr.arap PTR

# ping moncharsh.com

# dig 5.251.92.216.in-addr.arpa PTR

 

4 Understanding Wildcard Entries

4.1 WildCard

通配符条目用于为不存在的子域名提供响应

例:配置*.example.com指向example.com,此时所有不存在的example.com的子域名(如:aaa.example.com ccc.example.com)都会定向到example.com

该方式对渗透测试人员来说并不友好

 

4.2 Bypassing Wildcard entries

随机生成子域名,然后通过ping查看是否解析为相同ip地址,如果多数域名被解析为同一ip地址,可以判断使用了通配符条目

后续查询子域名时,如果与通配符条目ip地址不同,则说明该子域名存在

 

5 DNS Zone transfer

5.1 Zone transfer

一般情况,每个域存在多个权威域名服务器,构造主从关系

为了保证从服务器数据的准确性,从服务器必须查询主服务器,并在特定时间后获取最新记录。

而主服务器将向从从服务器提供它所拥有的所有信息,这就是所谓的"区域传输",即同步域内的权威域名服务器同步数据

5.2 Risk

正确配置的命名服务器只允许为来自同一域的其他名称服务器的区域传输请求提供服务。

但是,如果服务器没有正确配置,它将在不检查查询客户端的情况下处理向其发出的所有区域传输请求,这将泄漏域内所有的记录

区域传输请求使用请求类型 AXFR

5.3 fierce

fierce工具是DNS分析的最佳工具之一

# fierce --domain google.com

NS: ns3.google.com. ns2.google.com. ns1.google.com. ns4.google.com.

SOA: ns1.google.com. (216.239.32.10)

Zone: failure

Wildcard: failure

Found: 1.google.com. (172.217.160.78)

Found: about.google.com. (172.217.160.78)

Found: academico.google.com. (172.217.160.68)

Found: accounts.google.com. (216.58.200.237)

Found: admin.google.com. (172.217.24.14)

Found: ads.google.com. (216.58.200.46)

Found: alerts.google.com. (172.217.160.78)

Found: ap.google.com. (216.58.200.36)

Found: apps.google.com. (172.217.160.78)

Found: asia.google.com. (216.58.200.36)

...

请不要忽略区域传输配置的重要性!!!因为很容易暴漏其他薄弱的环节。

 

6 DNS Bruteforcing

如果权威域名服务器不允许区域传输,则可以通过暴力解析的方式进行域名查询

情况1

当确定域名服务器配置了通配符条目,则先确定通配符条目对应的ip,随后根据字典暴力解析,凡是与通配符条目ip不匹配的域名皆为存在的域名

情况2

当确定域名服务器未配置通配符条目,则直接根据字典进行暴力解析,所有正确解析的域名且为存在域名

fierce工具支持暴力解析

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值