前言

kali linux预装了许多渗透测试软件,如端口扫描工具、监测主机的工具等等,本文是对kali中的DNS分析工具进行一个简单的总结,如果要实战的话,还需要自己在环境中多多练习,熟能生巧~

环境描述

  • kali-linux-2020.1
  • VMware Workstation Pro

DNSenum

工具介绍

DNSenum是一种DNS枚举工具,可以用来查询DNS,枚举是从网络收集信息的过程,而DNS枚举是定位某个地址的所有DNS服务器和DNS条目的过程,可以收集到一些重要信息,包括主机地址信息、域名服务器、mx record(函件交换记录)等等。

操作方法
  1. 使用DNSenum进行DNS枚举
    打开kali的终端,输入:
    cd /usr/bin
    ./dnsenum --enum XXX.com
    其中XXX.com是所要查询的某个组织的网址,以baidu.com为例:
    在这里插入图片描述
    可以看到,在主机地址的返回结果中,“IN”表示资源是放在互联网上的,A表示主机的名称IP地址是对应的。其次还返回了baidu.com的域名服务器以及其IP地址、邮件服务器以及其IP地址。事实上,还返回了尝试在区域传输中获取BIND版本信息的结果,查询baidu.com的时候是都被拒绝了。
    在这里插入图片描述
  2. 选项帮助信息

DNSenum提供了很多选项,可以对查询进行精细化,有助于查询到更多自己需要的信息。

  • 可以通过dnsenum -h来查询选项或参数的帮助信息。
    在这里插入图片描述
    可以对选项(参数)进行如下总结:
--dnsserver <服务器> 将此DNS服务器用于A,NS和MX查询。
  --enum 等效于--threads 5 -s 15 -w的快捷方式选项。
  -h,--help 打印帮助消息。
  --noreverse 跳过反向查找操作。
  --nocolor 禁用ANSIColor输出。
  --private 在domain_ips.txt文件的末尾显示并保存专用ip。
  --subfile <文件> 将所有有效的子域写入此文件。
  -t,--timeout <值> tcp和udp超时值,以秒为单位(默认值:10s)。
  --threads <值> 将执行不同查询的线程数。
  -v,--verbose 显示所有进度和所有错误消息。
谷歌搜索选项:
  -p,--pages <值> 抓取名称时要处理的Google搜索页数,默认为5页,必须指定-s开关。
  -s,--scrap <值> 从Google抓取的子域的最大数量(默认为15)。
暴力选项:
  -f,--file <文件> 从此文件读取子域。 (优先于默认的dns.txt)
  -u,--update <a | g | r | z>
         使用有效的子域更新用-f开关指定的文件。
        (全部)使用所有结果进行更新。
        g仅使用Google抓取结果进行更新。
        r仅使用反向查找结果进行更新。
        z仅使用区域传输结果进行更新。
  -r,--recursion 递归子域,强行搜索所有发现的具有NS记录的子域。
WHOIS NETRANGE选项:
  -d,--delay <值> 在whois查询之间等待的秒数最大值,该值是随机定义的,默认值为3s。
  -w,--whois 在c类网络范围内执行whois查询。
     警告:这会产生很大的网络范围,执行反向查找将花费大量时间。
反向查找选项:
  -e,--exclude <regexp> 从反向查找结果中排除与regexp表达式匹配的PTR记录,这对无效的主机名很有用。
输出选项:
  -o --output <文件> 以XML格式输出。可以导入MagicTree(www.gremwell.com)
  1. 示例
    dnsenum --enum baidu.com -v:在对baidu.com进行DNS查询的时候,显示更加详细的信息。
    在这里插入图片描述

DNSrecon

工具介绍

dnsrecon是一款支持多种DNS记录查询的工具,可以检测域传送漏洞以及NS服务器缓存等等,功能也很强大。

操作方法
  1. 示例对域名进行子域名查找
    在这里插入图片描述
  2. 选项(或参数)帮助信息
    在这里插入图片描述
    可以对选项(参数)进行如下总结:
-h,--help显示此帮助消息并退出
  -d DOMAIN,--domain DOMAIN 目标域。
  -n NS_SERVER,--name_server NS_SERVER 要使用的域服务器。如果未给出任何内容,则目标将被使用。可以指定多个服务器,使用逗号分隔的列表。
  -r RANGE,-range RANGE 用于格式的强制反向查找的IP范围(优先)或in(范围/位掩码)。
  -D字典,--dictionary 子域和主机名的字典文件。过滤掉强制的域查找,解析为通配符定义的IP的记录保存记录时的地址。
  -f 过滤掉强制域查找,记录下保存时解析为通配符定义的IP地址记录。
  -t TYPE,--type TYPE要执行的枚举类型。
  -a 用标准枚举执行AXFR。
  -g 用标准枚举执行Google枚举。
  -b 用标准枚举执行Bing枚举。
  -k 用标准枚举执行crt.sh枚举。
  -w 执行深入的whois记录分析和反向查找执行标准时通过Whois找到的IP范围的百分比枚举。
  -z 使用标准枚举执行DNSSEC区域漫游。
  --threads THREADS在反向查找中使用的线程数,正向查找和SRV记录枚举。
  --lifetime LIFETIME等待服务器响应查询的时间。
  --tcp使用TCP协议进行查询。
  --db DB SQLite 3文件,用于保存找到的记录。
  -x XML,--xml XML XML文件,用于保存找到的记录。
  -c CSV,--csv CSV逗号分隔值文件。
  -j JSON,--json JSON JSON文件。
  --iw 即使有通配符也继续强行强制域发现记录。
  --disable_check_recursion 禁用名称服务器上的递归检查
  --disable_check_bindversion 在名称服务器上禁用检查BIND版本
  -v 启用详细模式

fierce

工具介绍

Fierce是一款IP、域名互查的DNS工具,可进行域传送漏洞检测、字典爆破子域名、反查IP段、反查指定域名上下一段IP,属于一款半轻量级的多线程信息收集用具。

操作方法
  1. 示例:通过dns参数指定待扫描的域名
    fierce -dns example.com -connect headers.txt
  2. 选项(参数)帮助信息
    可以通过fierce -h进行查看
    在这里插入图片描述总结如下:
        -delay <number> 指定两次查询之间的时间间隔
        -dns <domain> 指定查询的域名
        -dnsfile <dnsfile.txt> 用文件指定反向查询的DNS服务器列表
        -dnsserver <dnsserver> 指定用来初始化SOA查询的DNS服务器。
        -file <domain.txt> 将结果输出至文件
        -fulloutput 与-connect结合,输出服务器返回的所有信息
        -help 打印帮助信息
        -nopattern 不适用搜索模式查找主机。
        -range <1.1.1.1/24> 对内部IP范围做IP反查。必须与dnsserver参数配合,指定内部DNS服务器.
        -search <Search list> 指定其他的域,在其他的域内进行查找
        -tcptimeout <number> 指定查询的超时时间
        -threads [number] 指定扫描的线程数,默认单线程
        -traverse [number] 指定扫描的上下IP范围,默认扫描上下5各个。
        -version  打印fierce版本
        -wide 扫描入口IP地址的C段。产生大流量、会收集到更多信息.
        -wordlist <sub.txt>  使用指定的字典进行子域名爆破

参考

https://blog.51cto.com/executer/2106151
https://xz.aliyun.com/t/1563/

Logo

更多推荐