专栏首页晨星先生的自留地DNS(下)之域传送漏洞

DNS(下)之域传送漏洞

又这么晚睡...今天是老兄弟小贤子的生日,曾经的八班男神,哈哈。匆匆从龙海赶回来,顾不上沙茶面了。祝兄弟愿望成真,在大四有更多的突破!

00x1:DNS服务器的介绍

作为重要的互联网基础设施,难免成为黑客的重点攻击目标,服务的稳定性尤为重要。DNS服务器分为:主服务器、备份服务器和缓存服务器。DNS主服务器,这是主要的服务器,它在内存和磁盘上都保持有整个数据库的拷贝。如果系统崩溃,该数据库能重载到内存中。

DNS辅服务器,起辅助的作用,它获得一份来自主DNS服务器的数据库备份。当主服务器作修改时,辅服务器也要求作相应修改。

DNS缓存服务器,用来存储网络上用户需要的网页和内容的网络服务器。

在主备服务器之间同步数据库,需要使用“DNS域传送”。域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。

一般来说,DNS区域传送操作只在网络里真的有备用域名DNS服务器时才有必要用到,但许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息,所以说允许不受信任的因特网用户执行DNS区域传送(zone transfer)操作是后果最为严重的错误配置之一。

若DNS服务器配置不当,可能导致匿名用户获取某个域的所有记录。造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。凭借这份网络蓝图,攻击者可以节省不少的扫描时间。

大的互联网厂商通常将内部网络与外部互联网隔离开,一个重要的手段是使用Private DNS。如果内部DNS泄露,将造成极大的安全风险。风险控制不当甚至造成整个内部网络沦陷。

最常用的DNS记录有以下几类:

A记录 IP地址记录,记录一个域名对应的IP地址

AAAA记录 IPv6 地址记录,记录一个域名对应的IPv6地址

CNAME记录 别名记录,记录一个主机的别名

MX记录 电子邮件交换记录,记录一个邮件域名对应的IP地址,比如my@hackvaf.com后面的部分hackvaf.com,邮件服务器对应的IP地址

NS记录 域名服务器记录 ,记录该域名由哪台域名服务器解析

PTR记录 反向记录,也即从IP地址到域名的一条记录

TXT记录 记录域名的相关文本信息

SOA 资源记录 在任何 DNS 记录文件(DomainName System (DNS) Zone file)中,都是以SOA(Start of Authority)记录开始。SOA 资源记录表明此 DNS 名称服务器是为该 DNS 域中的数据的信息的最佳来源。

SOA 记录与 NS 记录的区别:简单讲,NS记录表示域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析;SOA记录设置一些数据版本和更新以及过期时间的信息.

想深入了解或者觉得笔者解释不清楚的请移步:http://bbs.51cto.com/thread-908637-1.html 阅读该文!

00x2 nslookup命令

这个命令是一个渗透中很常用的命令,还记得关于如何绕过CDN那篇文章么?

DNS缓存服务器别和之前提到的CDN服务器别混淆了,之前在某群的一个朋友问我什么区别。CDN 利用全局负载均衡技术将用户的访问指向离用户最近的工作正常的流媒体服务器上,由流媒体服务器直接响应用户的请求避免了节点失效,保证了质量和速,而DNS缓存服务器虽然也是缓存网页文件等信息,可是只是为了降低网络交换量,就是不会占太多带宽。比如我们访问www.hackvaf.com,那么DNS解析的顺序是 DNS缓存→HOST文件→真是DNS服务器。就是说如果你的缓存服务器将www.hackvaf.com 解析到IP :1.1.1.1 的话,之后的两个再将这个网址解析到其他的地方也不起作用!!

像上次某中国台湾的朋友问我为何我的blog不能访问,我猜测可能是节点的问题,让他设置DNS服务器为114.114.114.114。然后用ipconfig/flushdns 刷新他的缓存服务器。就ok了,所以碰到自己很经常访问的网站访问卡顿或者打不开网页可以用这个这个命令试试哈,或者更换一下DNS服务器~~

我们输入”nslookup ? ” 结果如上图。

nslookup命令以两种方式运行:非交互式和交互式。本文第一次提到“交互式”的概念,简单说明:交互式系统是指执行过程中允许用户输入数据和命令的系统。而非交互式系统,是指一旦开始运行,不需要人干预就可以自行结束的系统。因此,nslookup以非交互式方式运行,就是指运行后自行结束。而交互式,是指开始运行后,会要求使用者进一步输入数据和命令。

下面的例子通过114.114.114.114查询域名www.hackvaf.com的IP地址

结果如下图,这里我用的是交互式的。

下面这个例子是我查询京东和我博客的DNS服务器名称。

使用ptr进行域名反查

如下图:

我们输入nslookup,进入交互式系统,输入help,可以看到下图。

其他的参数不一一测试,哈哈,该进入我们的正题了。

00x3:域传送漏洞

本屌继续介绍在交互式shell中发现一个DNS服务器的域传送漏洞的过程。

操作基本的步骤是:

1) 输入nslookup命令进入交互式shell

2) Server 命令参数设定查询将要使用的DNS服务器(一般是soa或者ns)

3) Ls命令列出某个域中的所有域名

这个暂时找不到合适的站点,找到了也不做实例了!记得几个月前袁伟的事吧?向世纪某缘提交漏洞后被抓,成为了替死鬼。

4) Exit命令退出程序

如果若是不存在漏洞的主机,则可能提示错误如下:

我们可以通过域传送漏洞获取到的敏感主要包括:

1)网络的拓扑结构,服务器集中的IP地址段

2)数据库服务器的IP地址,例如上述testdb2.666.hackvaf.com

3)测试服务器的IP地址,例如test.666.hackvaf.com

4)V**服务器地址泄露

5)其他敏感服务器

除了上述方法,我们还可以用工具获取DNS信息。

1、DNS Flood Detector

2、DNSSEC

3、DNSTOP

4、在kali linux 里面:

cd /pentest/enumeration/dns/dnsenum

./dnsenum.pl --enum domain.com

00x4:修复方法

1、严格限制允许区域传送的主机即可,例如一个主DNS服务器应该只允许它的从DNS服务器执行区域传送的功能

2、做访问控制定义ACL(访问控制列表)来限制在域名服务器之间的区域传送

3、针对于bind软件,可以通过allowe-transfer指令来控制,可以作为global选项或者zone选项的一个参数,我们可以使用地址列表如下

编辑/etc/named.conf

在zone配置中设置:allow-transfer { localhost; IP; };

使用基于地址的可能还不安全,最好的方法是使用TSIG key来严格定义区域传送的关系,如下:allowe-transfer {key "dns1-slave1"; key "dns1-slave2";};

4、禁止区域传送

本文分享自微信公众号 - 晨星先生(MoXuanIT),作者:vaf

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-08-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DNS(上) 之原理与搭建篇

    lonelyvaf
  • finecmsV5.0.8写文件漏洞分析

    lonelyvaf
  • 面试中碰到的坑之注入系列(2)

    lonelyvaf
  • 网络协议 16 - DNS 协议:网络世界的地址簿

        为什么在地址栏输入域名,就能直接访问到对应服务器?全局负载均衡和内部负载均衡又是什么?这些都和 DNS 解析息息相关,让我们一起来解密 DNS 解析。

    北国风光
  • DNS是什么?有什么用?

    DNS是互联网的一项服务,简单的说,就是把域名(简单来说就是网站服务器的名字)转换成IP地址(简单说就是一个电脑的电话号码),好让电脑直接访问到网站的服务器。

    简单并不简单
  • DNS 负载均衡:如何提升网站性能

    如果你想提高你的网站或Web应用程序的访问速度,DNS负载均衡或许可以帮助你实现这一目标。通过帮助你分散收到的流量,有助于使网站以最佳的速度运行。 ? 什么是D...

    企鹅号小编
  • DNS 原理

    DNS (Domain Name System)域名系统。是提供根据域名找到对应的 IP 的服务。 Http 协议访问一个网址时,其实是根据 ip 地址进行访...

    java404
  • 如何在 Ubuntu 18.04 上设置域名解析服务器

    域名解析系统(DNS)是互联网架构中的一个中心部分,它提供了一种解析域名到 IP 地址的方式。你可以把 DNS 认为是互联网的电话号码薄。

    雪梦科技
  • DNS 报文结构和个人 DNS 解析代码实现——解决 getaddrinfo() 阻塞问题

    实际应用中发现一个问题,在某些国家/ 地区的某些 ISP 提供的网络中,程序在请求 DNS 以连接一些服务器的时候,有时候会因为 ISP 的 DNS 递归查询太...

    amc
  • Ubuntu Server 第八章 DNS服务

    这章的内容为DNS服务,远程管理一章中使用PUTTET,利用Hosts文件是域名指向对方IP,其实就已经涉及到了DNS。

    天钧

扫码关注云+社区

领取腾讯云代金券