kali系统---DNS收集分析


host工具

1>Host指令提供一个简单的DNS解析的功能。正常地使用名称到IP的解析,当指令没有任何参数和选项的时候,它将输出简单的带命令行参数和选项的概要。

名称是可以被解析的域名,也可以是点分十进制的IPV4的地址或冒号分隔的IPV6的地址,默认地,也可以行使一个反向解析的功能,DNS服务器既有名称又有IP地址,host查询可以替代它们,或者可以列在/etc/resolv.conf文件里

2>具体用法:

-a 显示详细的DNS信息;
-c<类型> 指定查询类型,默认值为“IN“;
-C 查询指定主机的完整的SOA记录;
-r 在查询域名时,不使用递归的查询方式;
-t<类型> 指定查询的域名信息类型;
-v 显示指令执行的详细信息;
-w 如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答;
-W<时间> 指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令;
-4 使用IPv4;
-6 使用IPv6.

3>具体方法:
使用的dns服务器在/etc/resolv.conf文件中

测试百度

用自定义的dns服务器

显示详细记录

dig

1>dig(域信息搜索器)命令是一个用于询问 DNS 域名服务器的灵活的工具。它执行 DNS 搜索,显示从受请求的域名服务器返回的答复。多数 DNS 管理员利用 dig 作为 DNS 问题的故障诊断,因为它灵活性好、易用、输出清晰。

虽然通常情况下 dig 使用命令行参数,但它也可以按批处理模式从文件读取搜索请求。不同于早期版本,dig 的 BIND9 实现允许从命令行发出多个查询。除非被告知请求特定域名服务器,dig 将尝试 /etc/resolv.conf 中列举的所有服务器。当未指定任何命令行参数或选项时,dig 将对“.”(根)执行 NS 查询。

2>命令选项

dns不同记录详解:
https://www.cnblogs.com/momenglin/p/8556079.html

3>



dnsenum

1>dnsenum是一款非常强大的域名信息收集工具,它是由参与Backtack开发项目的程序员所设计,设计者叫Fillp(barbsie) Waeythens ,该名开发者是一个精通web渗透测试的安全人员,并对DNS信息收集有着非常丰富的经验

dnsenum的目的是尽一切可能收集一个域的信息,它能够通过Google或者字典文件猜测可能存在的域名,以及对一个网段进行反查询。

它可以查询网站主机的主机地址信息、域名服务器、MX record(函数交换记录),在域名服务器上执行axfr请求,并通过Google脚本得到扩展域名信息,提取子域名并且查询,计算C类地址并执行Whois查询,执行反向查询,把地址段写入文件

2>命令选项

用法:dnsenum    [选项]    [域名]。注:"-"和"--"的区别,"-"使用选项简写,"--"使用选项全写。


选项    说明
通用选项
--dnsserver    <server>    指定域名服务器,事例:
dnsenum  --dnsserver   114.114.114.114   baidu.com

--enum    快捷选项,相当于"--threads 5 -s 15 -w",选项说明后续说明
-h    --help
显示帮助信息
--noreverse    跳过反向查询操作
--nocolor    无彩色输出
--private    显示并在"domain_ips.txt"文件结尾保存私有的ips
--subfile <file>    写入所有有效的子域名到指定文件
-t, --timeout <value>
tcp或者udp的连接超时时间,默认为10s(时间单位:秒)
--threads <value>    查询线程数
-v, --verbose    显示所有的进度和错误消息
其它常用选项
-o --output <file>    输出选项,将输出信息保存到指定文件
-e, --exclude    <regexp>    反向查询选项,从反向查询结果中排除与正则表达式相符的PTR记录,在排查无效主机上非常有用
-w, --whois    在一个C段网络地址范围提供whois查询
其它没有描述的选项请输入:dnsenum    -h查询。


3>

dmitry

1>功能:
根据IP(或域名)来查询目标主机的Whois信息
在Netcraft.com的网站上挖掘主机信息
查找目标域中用的子域
查找目标域的电子邮件地址
探测目标主机上打开的端口、被屏蔽的端口和关闭的端口

2>

3>

lbd
1>load balance detector
负载分担检测器
作用:查看DNS/HTTP/HTTPS有没有使用负载均衡

2>命令格式:
lbd 域名

3>用法
测试baidu.com的http的负载均衡,发现负载均衡,发现方式;DNS,HTTP[Diff]

测试https的负载均衡

fierce
转载自:https://blog.csdn.net/weixin_34236869/article/details/91709966
1>作用:查找目标的IP和主机名,进行爆破子域名等
特点:可以设置多个不连续的IP地址,可以多线程运行
Fierce是一款IP、域名互查的DNS工具,可进行域传送漏洞检测、字典爆破子域名、反查IP段、反查指定域名上下一段IP,属于一款半轻量级的多线程信息收集用具。Fierce可尝试建立HTTP连接以确定子域名是否存在,此功能为非轻量级功能,所以,定义为半轻量级。

2>参数解释:

# 使用命令: fierce [-dns example.com] [OPTIONS]
Options:
        -connect [header.txt]         对非RFC1918地址进行HTTP连接(耗时长、流量大),默认返回服务器的响应头部。可通过文件指定HTTP请求头的Host信息,如:fierce -dns example.com -connect headers.txt
        -delay <number>              指定两次查询之间的时间间隔
        -dns <domain>                 指定查询的域名
        -dnsfile <dnsfile.txt>         用文件指定反向查询的DNS服务器列表
        -dnsserver <dnsserver>   指定用来初始化SOA查询的DNS服务器。(仅用于出初始化,后续查询将使用目标的DNS服务器)
        -file <domain.txt>              将结果输出至文件
        -fulloutput                         与-connect结合,输出服务器返回的所有信息
        -help                                 打印帮助信息
        -nopattern                        不适用搜索模式查找主机。(此参数暂时没有用明白)
        -range <1.1.1.1/24>         对内部IP范围做IP反查(此参数尚未用明白)。必须与dnsserver参数配合,指定内部DNS服务器,如: fierce -range 111.222.333.0-255 -dnsserver ns1.example.com
        -search <Search list>       指定其他的域,在其他的域内进行查找(此参数没有用明白),如:   fierce -dns examplecompany.com -search corpcompany,blahcompany
        -tcptimeout <number>      指定查询的超时时间
        -threads [number]            指定扫描的线程数,默认单线程
        -traverse [number]           指定扫描的上下IP范围,默认扫描上下5各个。
        -version                           打印fierce版本
        -wide                               扫描入口IP地址的C段。产生大流量、会收集到更多信息.
        -wordlist <sub.txt>          使用指定的字典进行子域名爆破

# [] 内的数据为可选数据、<> 内为必选数据

3>简单用法
自带字典有2280个,很慢,还是测几个就行了,用自建字典

dnsrecon
1>功能:
DNS侦察是渗透测试信息收集中重要的一部分。DNS侦察是为了从DNS服务器返回的记录中,获取更多信息。不用触发IDS/IPS即可获取网络设施相关的信息。大部分的企业不会监控DNS服务器,只会监视是否存在区域传输漏洞。

网上已经有许多工具可以用来收集DNS信息,此片文章中介绍一下DNSRecon,由Carlos Perez 用Python开发,用于DNS侦察。
此工具可以完成下面的操作:

区域传输 —- Zone Transfer
反向查询 —- Reverse Lookup
暴力猜解 —- Domain and Host Brute-Force
标准记录枚举 —- Standard Record Enumeration (wildcard,SOA,MX,A,TXT etc.)
缓存窥探 —- Cache Snooping
区域遍历 —- Zone Walking
Google查询 —- Google Lookup

2>

      -h, --help                                       打印帮助信息并退出

       -d, --domain      <domain>          目标域名

       -r, --range       <range>                对给定格式的IP范围进行爆破,格式为(开始IP-结束IP)或(范围/掩码).

       -n, --name_server <name>          指定一个域名服务器

       -D, --dictionary  <file>                 用来爆破的子域名与主机名字典文件

       -f                                                   在保存结果时忽略枚举域查找结果

       -t, --type        <types>    指定枚举类型:

                                    std                如果NS服务器的域传送失败,进行SOA、NS、A、AAAA、MX 和 SRV的枚举(必须使用-d参数指定域名才可使用此参数)

                                    rvl                 对给定的IP范围或CIDR进行反向查找(必须使用-r指定IP范围)

                                    brt                使用指定的字典爆破域名与主机名

                                    srv                枚举SRV记录

                                    axfr               对所有的NS服务器进行域传送测试

                                    goo               对子域名和host进行Google搜索

                                    snoop           对-D选项给出的文件进行DNS服务器缓存侦测

                                    tld                 删除给定域的TLD并测试在IANA中注册的所有的TLD

                                    zonewalk      使用NSEC记录进行DNSSEC域漫游

       -a                          在标准枚举过程中进行空间域传送测试

       -s                          在标准枚举过程中进行IP地址范围的反向查找

       -g                         在标准枚举的过程中进行Google枚举

       -w                         在标准枚举的过程中进行深度whois查询和IP反查

       -z                          在标准枚举的过程中进行DNSSEC域漫游

       --threads         <number>       指定线程数

       --lifetime        <number>       指定查询等待的时间

       --db              <file>                 将结果存储为sqlite3数据库的文件

       --xml             <file>                 将结果存储为XML格式的文件

       --iw                                          即使发现了通配符也依然爆破

       -c, --csv         <file>                 CSV格式的文件

       -j, --json        <file>                 json文件

       -v                                             显示爆破的过程

3>实验:

对给定的IP范围进行域名反查

dnsmap
1>dnsmap起源于2006年,是受到一个叫做“The Thief No One Saw”的小故事的启发后开发的,这个小故事能在Paul Craig的书《Stealing the Network - How to Own the Bow》中找到。

dnsmap 主要用来在渗透测试的信息收集阶段来协助测试网络的基础设施的安全性,它能发现目标的网段,域名,甚至是电话号码等等。

子域名穷举在穷举子域名方面也是一项新的技术,尤其是在域传送技术失效的时候。(在最近我很少看到公开允许域传输的例子)

工具来源:http://code.google.com/p/dnsmap/

2>安装

下载之后放到kali系统上

3>使用方法:
-w 手动指定字典
-r 保存成正则的文件
-c 保存成csv的文件
-d 显示millisecs
-i 忽略入侵防御系统

因为防火墙的原因,这里穷举失败:具体用法就是那样的,知道即可

dnsmap target-domain.foo
dnsmap target-domain.foo -w yourwordlist.txt -r /tmp/domainbf_results.txt
dnsmap target-fomain.foo -r /tmp/ -d 3000
dnsmap target-fomain.foo -r ./domainbf_results.txt

dnsdict6
功能:
扫描网站并显示有多少域或者子域,也可以扫描ipv6/ipv4地址。dnsdict6是一款功能强大的工具,它可以提取那些对用户限制或者不可见的子域。这一切证明了它是一个用来获取网站信息的好工具。

主要用来查ipv6
命令格式: dnsdict6 [options] [domain] [字典]
-4 查询ipv4地址
-D 显示自带的字典
-t 线程数 最高32,默认是8
-d 显示NS MX域名信息
-S SRV服务名称猜解
-[smlxu] 选择字典大小
-s(mall=100),-m(edium=1419)(DEFAULT)
-l(arge=2601),-x(treme=5886) or -u(ber=16724)

现在的版本已经没有该工具:
下载:https://src.fedoraproject.org/lookaside/pkgs/thc-ipv6/thc-ipv6-2.7.tar.gz/2975dd54be35b68c140eb2a6b8ef5e59/
之后将文件拖进kali系统

tar zvxf thc-ipv6-2.7.tar.gz 
cd thc-ipv6-2.7
apt-get install libpcap-dev libssl-dev 
make
cp dnsdict6 /usr/bin

输入dnsdict6验证是否运行成功

方法:
工具自带字典:

探测baidu.com,子域名信息


用自己写的字典进行爆破


结果如下:


文章作者: P1n9
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 P1n9 !
评论
 上一篇
kalix系统---信息收集小工具使用 kalix系统---信息收集小工具使用
amap 功能: 扫描某ip主机端口开放情况安装:sudo apt-get install amap命令: amap -bq ip 端口范围 theHarvester 功能:TheHarvester能够收集电子邮件账号、用户名、主机
2020-04-14
下一篇 
kali系统安装和汉化 kali系统安装和汉化
1、首先到kail官网下载 https://www.kali.org/downloads/之后点击这个链接,点击下载Vmware版本的kali系统下载成功之后用Vmware打开,这个试衣镜安装好的,不需要手动安装,用户名:kali,密码:k
  目录