kali linux 工具使用之 001 dnsenum

001 dnsenum

ea3db680e05f038524ba1f1b071d263f.jpeg

dns 信息会暴露很多的服务信息,往往一个渗透测试项目就是从一个域名开始的,拿到一个域名后,也往往是先通过 dns 信息收集的方式获得目标更多的信息。所以掌握 dns 信息收集的工具是渗透测试者必须的。

通过 dns 信息,我们可以获取到 ip 地址,根据 IP 地址可以获取同网段其他 ip 地址,而这些 ip 地址后面就能获取到开放的端口号,然后通过开发的端口号可以获取到背后跑的是什么服务。通过 dns 信息还能获取到一些子域名信息,获取到 dns 域名注册信息,甚至可能对 dns 服务器做区域传输,把整个目标后面的信息全部获取到。

dnsenum 就是一款用于收集 dns 信息的工具,这款工具通过字典爆破、搜索引擎、whois 查询、区域传输等手段用于获取域名背后的 dns 信息。

2c75d14bd94b5e2d9cfa3814080db820.jpeg

dnsenum 在默认情况下会综合查询给定域名后面的 A 记录、NS 记录、MX 记录、bind 版本信息以及尝试做区域传输,最后使用默认的字典做 dns 信息的爆破。当查询到 C 类地址的时候还会做反向的域名查询,以发现更多的域名。

默认的字典文件所在位置是:/usr/share/dnsenum/dns.txt

dnsenum 是多线程 perl 脚本,用于枚举域的 DNS 信息并发现不连续的 ip 地址。

可以用它进行如下操作:

  • 获取主机记录(A 记录)
  • 获取域名服务器
  • 获取 MX 记录
  • 在域名服务器上执行 axfr 查询并获取绑定版本
  • 通过 Google 抓取获取额外的域名和子域(Google query=“allinurl:-www site:domain”)
  • 通过字典文件进行暴力破解子域,也可以对具有 NS 记录的子域执行递归查询
  • 计算 C 类网络地址范围并对其进行 whois 查询
  • 在 netrange(C 类或者 whois netrange)上执行反向查找
  • 将 ip-blocks 写入 domain_ips.txt 文件

来看一下 dnsenum 的帮助信息吧:其中 # 开头的是我添加的注释。

> Executing “dnsenum -h”
# dnsenum 的版本号是:1.2.6
dnsenum VERSION:1.2.6
# dnsenum 的用法是:dnsenum + 可选参数 + 域名,例如:dnsenum sina.com
Usage: dnsenum [Options] <domain>
# 可选参数说明:
[Options]:
# 提示:如果没有使用 -f 参数指明使用哪个字典文件,就会默认使用 /usr/share/dnsenum/dns.txt
# 这个文件或者使用 dnsenum.pl 所在目录中的 dns.txt 文件。
Note: If no -f tag supplied will default to /usr/share/dnsenum/dns.txt or
the dns.txt file in the same directory as dnsenum.pl
# 常用参数选项:
GENERAL OPTIONS:
    # 使用这个选项指定 dns 服务器,如果不指定,默认使用 /etc/resolv.conf 中指定的 dns 服务器
  --dnsserver   <server>
            Use this DNS server for A, NS and MX queries.
    # 这是一个其他参数的组合,与 --threads 5 -s 15 -w 功能一样
  --enum        Shortcut option equivalent to --threads 5 -s 15 -w.
    # 这个参数是打开本帮助文档
  -h, --help        Print this help message.
    # 这个参数的作用是跳过反向查找操作
  --noreverse       Skip the reverse lookup operations.
    # 禁用 ANSI 颜色输出
  --nocolor     Disable ANSIColor output.
    # 在 domain_ips.txt 文件的末尾显示并保存私人 ips
  --private     Show and save private ips at the end of the file domain_ips.txt.
    # 将扫描到的所有子域写入到这个参数指定的文件中
  --subfile <file>  Write all valid subdomains to this file.
    # 用于指定 tcp 和 udp 超时时间,单位秒,默认 10s
  -t, --timeout <value> The tcp and udp timeout values in seconds (default: 10s).
    # 指定将执行不同查询的线程数
  --threads <value> The number of threads that will perform different queries.
    # 显示详细信息,显示所有进度和所有错误消息
  -v, --verbose     Be verbose: show all the progress and all the error messages.
# 与 Google 搜索引擎结合的参数选项:
GOOGLE SCRAPING OPTIONS:
    # 抓取 Google 搜索引擎搜索结果的页数,默认是抓取 5 个页面,必须指定 -s 参数
  -p, --pages <value>   The number of google search pages to process when scraping names,
            the default is 5 pages, the -s switch must be specified.
    # 从 Google 抓取的最大子域数量,默认为 15
  -s, --scrap <value>   The maximum number of subdomains that will be scraped from Google (default 15).
# 暴力破解选项:
BRUTE FORCE OPTIONS:
    # 指定暴力破解子域的字典文件,优先级大于默认的字典文件
  -f, --file <file> Read subdomains from this file to perform brute force. (Takes priority over default dns.txt)
  # 更新 -f 指定的字典文件中可用的子域
    -u, --update    <a|g|r|z>
            Update the file specified with the -f switch with valid subdomains.
    # 使用所有结果
    a (all)     Update using all results.
    # 只使用 google 抓取的结果
    g       Update using only google scraping results.
    # 只使用反向查询到的子域结果
    r       Update using only reverse lookup results.
    # 只使用区域传输获取到的结果
    z       Update using only zonetransfer results.
    # 递归查询子域,暴力查询所有发现的具有 NS 记录的子域
  -r, --recursion   Recursion on subdomains, brute force all discovered subdomains that have an NS record.
# whois 查询选项:
WHOIS NETRANGE OPTIONS:
    # Whois 查询之间等待的秒数最大值,该值是随机定义的,默认值:3s
  -d, --delay <value>   The maximum value of seconds to wait between whois queries, the value is defined randomly, default: 3s.
  # 在 c 类网络范围上执行 whois 查询
    -w, --whois     Perform the whois queries on c class network ranges.
            # 警告:这会产生很大的网络范围,执行反向查找将花费大量时间
             **Warning**: this can generate very large netranges and it will take lot of time to perform reverse lookups.
# 反向查找选项:
REVERSE LOOKUP OPTIONS:
    # 从反向查找结果中排除与regexp 表达式匹配的 PTR 记录,这对无效的主机名很有用。
  -e, --exclude <regexp>
            Exclude PTR records that match the regexp expression from reverse lookup results, useful on invalid hostnames.
# 输出选项:
OUTPUT OPTIONS:
    # 指定扫描结果以 xml 格式保存到文件中
  -o --output <file>    Output in XML format. Can be imported in MagicTree (www.gremwell.com)
┌──(eg㉿linux)-[~]
└─$

使用实例:

┌──(eg㉿linux)-[~]
└─$ dnsenum sina.com   
dnsenum VERSION:1.2.6

-----   sina.com   -----

Host's addresses:
__________________

sina.com.                                30       IN    A        66.102.251.24

Name Servers:
______________

ns3.sina.com.                            30       IN    A        180.149.138.199
ns1.sina.com.cn.                         30       IN    A        36.51.252.8
ns2.sina.com.cn.                         30       IN    A        180.149.138.199
ns4.sina.com.                            30       IN    A        123.125.29.99
ns3.sina.com.cn.                         30       IN    A        123.125.29.99
ns1.sina.com.                            30       IN    A        114.134.80.144
ns4.sina.com.cn.                         30       IN    A        121.14.1.22
ns2.sina.com.                            30       IN    A        114.134.80.145

Mail (MX) Servers:
___________________

freemx3.sinamail.sina.com.cn.            30       IN    A        123.126.45.192
freemx1.sinamail.sina.com.cn.            30       IN    A        39.156.6.104
freemx2.sinamail.sina.com.cn.            30       IN    A        121.14.32.117

Trying Zone Transfers and getting Bind Versions:
_________________________________________________

Trying Zone Transfer for sina.com on ns3.sina.com ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for sina.com on ns1.sina.com.cn ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for sina.com on ns2.sina.com.cn ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for sina.com on ns4.sina.com ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for sina.com on ns3.sina.com.cn ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for sina.com on ns1.sina.com ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for sina.com on ns4.sina.com.cn ... 
AXFR record query failed: REFUSED

Trying Zone Transfer for sina.com on ns2.sina.com ... 
AXFR record query failed: REFUSED

Brute forcing with /usr/share/dnsenum/dns.txt:
_______________________________________________

ads.sina.com.                            15       IN    CNAME    ww1.sinaimg.cn.w.alikunlun.com.
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        110.185.121.221
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        182.140.139.104
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        182.140.139.105
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        182.140.139.106
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        182.140.139.107
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        110.185.121.223
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        110.185.121.222
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        110.185.121.219
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        110.185.121.224
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        110.185.121.217
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        110.185.121.220
ww1.sinaimg.cn.w.alikunlun.com.          30       IN    A        110.185.121.218

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eglinux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值