dnsenum 介绍

多线程perl脚本枚举域的DNS信息并发现非连续的IP段工具

主要功能:
1- 获取主机的地址(A记录)
2- 获取名称服务器(线程)
3- 获取MX记录(线程化)
4- 对名称服务器执行axfr查询并获取BIND VERSION(线程化)
5- 通过Google抓取获取额外的名称和子域(google query = “allinurl: -www site:domain”)
6- 读取文件爆破子域,也可以对具有NS记录的子域执行递归查询(开启所有线程)
7- 计算C类域网络范围并对其执行whois查询(线程化)
8- 对网络(C类或/和whois网络)执行反向查找(线程化)
9- 将ip段写入domain_ips.txt文件

工具来源 dnsenum主页: 点击进入
Kali dnsenum Repo 仓库: 点击进入

作者:Filip Waeytens, tix tixxDZ
证书:GPLv2

dnsenum 功能

root@kali:~# dnsenum  -h
dnsenum.pl VERSION:1.2.3
用法:dnsenum.pl [选项] <域>
[选项]:
注意:'-f' 选项是用于穷举爆破的

<一般选项>:
--dnsserver <server> 将此DNS服务器用于A,NS和MX查询
--enum  快捷方式选项,相当于--threads 5 -s 15 -w
-h, --help 帮助消息
--noreverse 跳过反向查找操作
--nocolor 禁用ANSIColor输出
--private 显示并在文件domain_ips.txt的末尾保存私有IP
--subfile <file> 将所有有效的子域写入此文件
-t, --timeout <value> tcp和udp超时值(以秒为单位,默认值:10s)
--threads <value> 将执行不同查询的线程数
-v,--verbose 详细信息:显示所有进度和所有错误消息,

<Google抓取选项>:
-p,--pages <value> 抓取名称时要处理的Google搜索页面数,默认值为5页,必须指定-s开关
-s,--scrap <value> 将从Google抓取的子域的最大数量(默认值为15)

<子域穷举选项>:
-f,--file <file> 从此文件读取子域进行爆破
-u,--update <a|g|r|z> 向使用-f开关指定的文件更新有效的子域
a(all) 使用所有结果更新。
g   仅使用Google抓取结果更新
r   仅使用反向查找结果进行更新
z   仅使用zonetransfer结果更新
-r,--recursion 递归子域,穷举具有NS记录的所有子域

<WHOIS网络选项>:
-d,--delay <value> 在whois查询之间等待的最大值(秒),默认值:3s
-w,--whois  在c类网络范围上执行whois查询
**警告**:这可能会产生非常大的网络流量,它需要大量的时间来执行反向查找

反向查找选项:
-e,--exclude <regexp> 从反向查找结果中排除与regexp表达式匹配的PTR记录,对无效主机名非常有用

<输出选项>:
-o --output <file> 以XML格式输出,以便可以在MagicTree中导入(www.gremwell.com)

dnsenum 用法示例

不做反向查找(-noreverse)和指定输出保存到一个文件(-o mydomain.xml)扫描域为example.com:

root@kali:~# dnsenum --noreverse -o mydomain.xml example.com
dnsenum.pl VERSION:1.2.3

----- example.com -----
Host's addresses:
__________________

example.com. 392 IN A 93.184.216.119

Name Servers:
______________

b.iana-servers.net. 122 IN A 199.43.133.53
a.iana-servers.net. 122 IN A 199.43.132.53

Mail (MX) Servers:
___________________