首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DNS 深度理解

0x01 首先,我们先来简单回顾下, 比较简单,如下

演示环境,此处暂以一主一从为例进行演示

0x02 几种常见的 DNS 功用类型

0x03 理解DNS区域解析流向

0x04 认识DNS中一些常见的资源记录类型,说到底就是用它们来标记某个主机类型

0x05 如何在区域配置文件中定义上述各种资源记录

记录定义标准格式,如下

定义SOA记录,一般会配合DNS主从同步来用

定义NS记录,如果连续两条紧挨着的记录相同,后面一个的name可省略,另外NS记录需要在后续有一个对应的A记录

定义MX记录,注意,此记录有优先级,数字越小,优先级越高,同样,后面也需要指向一条A记录

定义A记录,注意,对于A记录,同一个name可以对应多个不同的ip,访问时会自动实现轮询的效果

定义PTR记录,即反向区域解析,一定要注意,所有的ip地址必须反过来写,另外,都必须带上固有后缀

0x06 关于一些常见 dns 解析测试工具的基本使用

0x07 因为后续还要做DNS主从实时同步,所以这里就先从开始

开始安装主DNS,bind是核心包,bind-devel是bind核心库,utils是dns测试工具包,工具包里包含了一些常用工具,如,nslookup,dig,host,另外,此处暂以yum方式进行安装,当然,你也可以自行采用源码编译的方式进行安装,不过编译安装不太好的地方就是,有很多关键目录和配置文件没法自动生成,配置起来比较繁琐

配置主DNS的主配置文件

针对rndc 的简单配置,关于rndc其实就是个bind服务管理工具,可以通过它在本地或者直接远程来方便的对bind服务进行各种管理操作,如,重载,刷新缓存,关闭…默认工作在tcp/953端口上,比较危险,所以我们一般只让它监听在本地即可

0x08 定义正向区域文件

0x09 定义正向区域文件,我们再来编写正向区域解析数据库,内部主要用于存放各种记录类型和宏,如下

0x10 配置完正向区域解析库以后,我们就可以来重载服务,测试解析了

0x11 在正向区域测试解析没有任何问题之后,我们再来看如何定义反向区域,注意,反向区域的ip地址要全部反写,即 ,此区域不需要MX和A记录,只需要PTR记录即可,另外,通常都是

定义反向区域的方式很简单,先定义好反向区域文件

再来定义反向区域解析库

0x12 当主DNS的正反向区域解析都没任何问题之后,我们开始来配置

开始配置从DNS,其实,在这里跟配置主DNS并没有太大区别,还是先按上面主DNS的配置方式来一遍

配置rndc

0x13 接着,再来配置,务必要记得在主DNS的正向解析库中一定要先有一条ns记录的ip是指向从DNS服务器的,不然同步通知是无法完成的,也就是说,一旦主DNS发生改变,它会通知所有的ns服务器进行更新,这样就可以实现实时正向区域同步的效果

对于从DNS的配置就非常简单了,只需要在从DNS上编辑区域文件,在里面配置好主DNS服务器的ip,设置好从DNS正向区域文件名,然后启动服务即可,如下

上面配置没问题以后,我们来重载服务试试

正向区域实时同步搞定之后,我们再来看看如何实现,还是要先在主DNS上的反向区域解析库中定义一条指向从DNS服务器的PTR记录,如下

首先,到主DNS服务器上去编辑反向区域解析库文件,添加一条指向从DNS服务器的PTR记录,具体如下

之后,再回到从DNS服务器上编辑区域配置文件,添加一个反向区域,跟正向区域同步一样,依然是指明主DNS服务器ip和从DNS反向区域解析库文件名,之后再重载服务,测试解析即可

0x14 关于DNS自身的安全问题

0x15 基于 DNS 的各类渗透技巧,其实说来,底层的原理非常简单,因为在一些脚本或者数据库中有很多那种可以直接用于发起DNS请求的函数,而我们就可以通过此来构造自己的各种攻击语句,然后再从解析log中提取执行结果

下面就是个简单的区域传送效果,不过像这种古董级漏洞,现在确实已经非常罕见了,属于敏感信息泄露的一种,容易直接被人看见内部的网络结构拓扑部署,祝大家好运吧 ^_^

后话:

其实,像dns这种过于的基础服务,配置起来确实非常简单,不过,关键还是要能灵活应用,非常建议大家还是把绝大部分的时间都花在去深入理解dns的解析过程上,个人觉得那个才是真正的价值,因为所有的DNS高级应用场景,最底层全部都是基于这个,把最基础的东西搞通透以后,再去看各类高级应用就非常简单了,还是那句话,篇幅限制,此处仅仅也只是先带大家打个照面,更多高级应用,后续肯定还会有大量的篇幅说明,来日方长,我们待续……

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180803G0BVP600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券