DNS区域传送漏洞实验以及二级域名爆破

目录:

1.DNS服务器的域传送漏洞(nslookup交互式、非交互式、批处理三种方式)

2.写个二级域名爆破脚本

一、DNS服务器的域传送漏洞

实验环境:

服务端:Windows2008 安装DNS服务(创建A记录),安装IIS服务(搭建一个站点)

客户端:win10(DNS设置为windows 2008的IP地址)

实验步骤:

一、服务端搭建一个网站

1.服务端搭建一个网站并设置默认主页

  

2.服务端设置DNS,并创建一个主机记录

  

3.客户端测试网站以及DNS创建的主机记录(通过主机名访问)

通过下图可以说明,网站搭建完好以及DNS解析正常

  

4.检查服务端是否开启“区域传送”,可以看到下图没有开启DNS区域传送

  

5.客户端使用nslookup查看DNS记录,可以看到www. hnuahe.edu.cn解析的DNS记录

  

6.看看是否存在DNS区域传送漏洞,列出hnuahe.edu.cn的所有二级域名

  

7.从上图可以看到目标不存在DNS传送漏洞,那么我们就在windows 2008开启区域传送,并不做任何限制并再创建几条主机记录,方便下面测试实现效果,见下图

  

8.再在客户端测试是否存在区域传递漏洞,我们可以看到几个主机记录,说明存在DNS区域传送漏洞

  

9.刚才的实验实在交互式模式下测试DNS服务器是否存在域传送漏洞, 为了能够非交互式运行,可以通过管道来实现。

echo ls (要列出的域名) | nslookup

#注:nslookup也可以指定DNS服务器  echo ls (要列出的域名) | nslookup  –  (DNS服务器)

10.也可以通过批处理来实现非交互式测试DNS服务器是否存在域传送漏洞

编写批处理文件:ls.bat

Echo ls %1 | nslookup - %2          #批处理通过%来获得命令行传递来的参数

注: 为了测试dns.nwpu.edu.cn服务器,可以执行ls.bat hnuahe.edu.cn www.hnuahe.edu.cn。 批处理中:

1) %1代表第一个参数,也即hnuahe.edu.cn

2) %2代表第二个参数,即www.hnuahe.edu.cn

3) Echo是回声命令,原文输出传入的参数内容

4) “|”是管道符号,作用是把前一个命令执行的结果传给后一个命令。因此:执行ls.bat hnuahe.edu.cn www.hnuahe.edu.cn,等价于执行echo ls hnuahe.edu.cn | nslookup – www.hnuahe.edu.cn。

5) nslookup - www.hnuahe.edu.cn是指定DNS服务器为www.hnuahe.edu.cn

可以看到通过批处理来执行测试出来DNS服务器存在域传送漏洞

  

二、二级域名爆破

当我们在查找某个域名的有效子域名时,我们通常需要使用子域名枚举这项技术。但是,除非DNS服务器暴露了完整的DNS空间(涉及到AXFR协议),否则我们真的很难拿到目标域名的子域名列表。目前主要的技术是使用一个常用域名的字典,并通过对每一个域名尝试进行解析来查找子域名。虽然这种方法在某些情况下非常有效,但是对于那些名字非常奇怪或罕见的域名来说,这种方法就没多大用了。

当然了,查找子域名也可以通过网络爬虫,以及搜索引擎(常用,因为更加高效)

代码如下: #注意需要自己准备一个字典

#进行暴力破解DNS二级域名
#利用nslookup 域名 循环尝试
import os
from threading import Thread
import time
#加载字典
with open("C://Users//admin//Desktop//dnsyuming_dict.txt") as f:
    nlist=f.readlines()
#print(nlist)
bz=0    #做标志位,用于后面的结束循环读取字典
rlist=[]
def f(astr):
    global bz
    cmd="nslookup %s.hnuahe.edu.cn"%astr        #这里可以修改
    result=os.popen(cmd).read()
    if result.count("Address")>1:       #nslookup 执行成功返回的字符串中有两个"Address",失败只有返回一个
        rlist.append(astr+".hnuahe.edu.cn")     #把nslookup 执行成功得到的二级域名加入到列表中
    bz+=1

if __name__=="__main__":
    print("扫描开始:")
    ts=[]   #线程池
    for i in nlist:
        t=Thread(target=f,args=(i.strip(),))
        ts.append(t)
        t.start()   #开启多线程
    for i in ts:
        t.join()
    while 1:
        if bz==len(nlist):  #如果标志位和字典的长度相等,则退出循环
            break
        time.sleep(1)
    print("一共扫描到%d个结果:"%len(rlist))
    print(rlist)
    print("扫描结束!")  

运行效果如下:

  

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

DNS安装与配置,请参考:https://www.cnblogs.com/yuzly/p/10474146.html

web安装与配置,请参考:https://www.cnblogs.com/yuzly/p/10459272.html

原文地址:https://www.cnblogs.com/yuzly/p/10474218.html

时间: 2024-11-15 09:59:16

DNS区域传送漏洞实验以及二级域名爆破的相关文章

<转>DNS服务系列之二:DNS区域传送漏洞的安全案例

DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因意外故障变得不可用时影响到整个域名的解析.一般来说,DNS区域传送操作只在网络里真的有备用域名DNS服务器时才有必要用到,但许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息,所以说允许不受信任的因特网用户执行DNS区域传送(zone transf

DNS区域传送漏洞的安全案例

DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因意外故障变得不可用时影响到整个域名的解析.一般来说,DNS区域传送操作只在网络里真的有备用域名DNS服务器时才有必要用到,但许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息,所以说允许不受信任的因特网用户执行DNS区域传送(zone transf

DNS域传送漏洞

DNS 域传送漏洞 图片展示现象 这里借用一张图片,现在DNS 域传送漏洞很不好找了! 原理 DNS 服务器配置不当,导致攻击者可以匿名获取该域内所有DNS信息: DNS服务器有主备之分,在主备之间同步域解析信息,就用到了DNS域传送这个技术.确切指备机从主机同步数据更新自己的数据库.如果这台DNS配置不安全,攻击者可以获取该域名下所有子域名解析记录,暴露了很多重要信息,例如拓扑结构,解析记录等等. 检测 nslookup检查法 #nslookup >server dns_server_doma

DNS主从复制以及区域传送

实验环境:RHEL5.8 32Bit DNS主从复制以及区域传送 如果我们希望用户在浏览器的地址栏里面通过域名就可以访问到我们的站点的话,我们直接给该域名添加一条A记录即可,但是如果如果期望用户在输错域名的情况下也能够正常的定向到我们的站点上面的话,就得使用泛域名解析,但是对于一个非常大的组织来讲泛域名解析并不是一个非常可取的做法,所以,在用户输错一个域名的情况下,我们尽可能的给用户也要返回一个页面,如果是web页面的话,那么就给用户返回一个错误页面,而不是向泛域名解析那样定向到我们的主页上,这

Windows平台DNS独立服务器区域传送

实验环境说明 此次实验使用2台Windows 2012 R2进行演示,首先需要在2台服务器上安装DNS服务功能角色(不需要加域).最终实现功能通过在主服务器上添加A记录.CNAME记录和MX记录等信息自动同步至辅助服务器. 配置规划 服务器名称 FQDN名称 IP地址 备注 DNS1 Dns1.techplus.local 172.20.2.201 主服务器 DNS2 Dns2.techplus.local 172.20.2.202 辅助服务器 功能角色安装 创建DNS1正向查找区域 创建DNS

Windows 2008 R2 配置 DNS 实现二级域名

本文内容 域名解析 准备工作 安装 DNS 服务器 建立 DNS 区域 建立主机头 服务器网络设置 测试二级域名 IIS 建立 Web 站点 其他 DNS 服务 域名解析 域名解析,是域名到 IP 地址的转换过程.IP 地址是网络设备的数字标识,为了便于记忆,采用域名来代替 IP 地址.域名的解析工作由 DNS 服务器完成. 准备工作 假设你服务器的 IP 地址为 192.168.1.210 假设你有两个 Web 应用程序:一个是完成一般的业务流程:另一个完成业务交流 假设你的服务器既担任 We

Linux DNS服务系列之主从复制、区域传送

前言 前言 在上一篇文章中已经讲解了缓存服务器和正反向解析,在这一篇文章中讲解如何配置DNS主从服务器,和区域传送,根据上一篇的实验继续完成DNS主从服务器配置. DNS主从服务器配置要求: 为192.168.1.192主DNS服务器添加一台IP为 192.168.1.105的从服务器 只允许192.168.1.105这台从服务器进行区域传送,其他主机禁止传送 主从DNS服务器: 主DNS服务器(MasterDNS): 数据库的修改更新; 辅助DNS服务器(SlaveDNS):请求主DNS服务器

DNS主从复制,及区域传送

泛域名解析:当用户输错站点后自动弹出一个指定的页面, 在正向域里设置: $TTL 600 @   IN   SOA   ns1.mylinux.com.  admin.mylinux.com. ( 20160708 1H 5M 2D 6H ) IN   NS    ns1 IN   MX 9 mail.mylinux.com. ns1  IN   A    192.168.1.1 www  IN   A     192.168.1.1 www  IN   A     192.168.1.3 ft

Linux DNS服务器主从复制及区域传送

什么是DNS主从复制? 简单说一下,所谓DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了. 这里提一下DNS服务器类型有以下几种: 主DNS服务器 辅DNS服务器 缓存服务器(默认) 转发器 需要注意的是: 1.做主从的时候时间同步非常重要,必须保持时间的一致性: 2.DNS(bind)的版本问题,最好使用同一版本,或者从DNS版本比主DNS版本高. 什么是区域传送? 区域传送有两种类型: 完全区域传送:axfr 增量区域传送:ixfr