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

DNS区域传送漏洞

1. 实验环境

服务端:Windows2008 安装DNS服务,安装IIS服务(搭建一个网络站点)

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

2. 实验步骤

(1)首先在windows 2008上安装DNS服务

        在服务管理器上新建角色,选择DNS服务器

        在服务管理器上添加完DNS角色后,在开始->程序->管理工具中会出现DNS,利用它可以启动DNS管理器,并对DNS服务器进行设置。

(2)测试DNS服务器是否能正常服务

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

(3)服务端设置DNS,并创建一个主机记录

(4)测试DNS服务器是否正常

(5)检查服务端是否开启“区域传送”,可以看到服务器端没有开启DNS区域传送

(6)然后在客户端使用nslookup查看DNS记录,如下所示;

(7)看是否存在DNS区域传送漏洞,列出xaut.com中的所有主机;可以看出,我们要查看的目标不存在DNS传送漏洞;

(8)为了测试实验效果,我们就windows 2008开启区域传送,再创建1条主机记录;

(9)最后在客户端测试是否存在区域传递漏洞,可以看到几个主机记录,快速得知到域中的主机,说明存在DNS区域传送漏洞

二级域名爆破

当我们在查找某个域名的有效子域名时,可以使用的技术是通过一个常用的域名字典(需要自己准备一个字典),对字典中的每一个域名通过nslookup尝试进行解析来查找子域名。这种方式有一定的局限性,就是对那些主机名不常见的,这种方法就没什么实际的效益。

代码如下:

import os
from threading import Thread
import time

#加载字典,字典中为常见的主机名
with open("C:/Users/Lenovo/Desktop/dict.txt") as f:
    nlist=f.readlines()
#标志位
bz=0
#存放扫描之后活跃的域名
rlist=[]
#使用nslookup 域名的当时循环的获取存在的域名
def f(astr):
    global bz
    cmd="nslookup %s.xaut.com"%astr
    result=os.popen(cmd).read()
    if result.count("Address")>1:
        rlist.append(astr+".xaut.com")
    bz+=1
if __name__=="__main__":
    print("扫描开始:")
    for i in nlist:
        t=Thread(target=f,args=(i.strip(),))
        t.start()
    while 1:
        #退出的标志
        if bz==len(nlist):
            break
        time.sleep(1)
    print("一共扫描到%d个结果:"%len(rlist))
    print(rlist)
print("扫描结束!")

 结果如下:可以查找到该域名下的有效子域名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值