相信看过我
Eglinux:kali linux 工具使用之 001 dnsenum这篇文章的朋友已经对 dns 信息在渗透测试中的作用已经清楚了,dns 信息能够暴露一个目标系统的许多信息,往往一个渗透测试项目就是从一个域名开始的,第一步就是获取 dns 信息,然后从 dns 信息中找突破口,发现新的渗透测试路径。
相比于 dnsenum,dnsmap 只有字典爆破一个手段来收集目标的 dns 信息,不像 dnsenum 那样可以通过搜索引擎、whois 查询、区域传输等其他手段获取 dns 信息。
dnsmap 于 2006 年就发布了,开发的灵感来自于一个叫做“小偷无人看“的故事,这个故事可以在《Stealing the Network – How to 0wn the Box》这本书中找到。
dnsmap 主要是供渗透测试人员在基础结构安全评估的信息收集和枚举阶段使用。在枚举阶段,安全顾问通常会发现目标公司的 IP 网络地址段、域名、电话号码等。
子域暴力破解是在枚举阶段使用的另一种技术,因为它在其他子域枚举技术(例如区域传输)不起作用时特别有用(顺便说一下,如今很少看到有允许区域传输的)。
dnsmap 工具的源码仓库:http://code.google.com/p/dnsmap/
dnsmap 工具 kali Linux 官方使用的版本源码仓库:https://gitlab.com/kalilinux/packages/dnsmap
如果安装了 kali Linux 系统,那系统中已经预装了 dnsmap 这款工具,如果想在其他 Linux 发行版本上使用,可以从上面的仓库地址下载源码编译后安装运行。
dnsmap 工具的缺陷是不支持多线程,如果想以批量方式暴力破解多个目标域,则可以使用 dnsmap-bulk.sh 脚本。该脚本是和 dnsmap 工具一起的。
使用 dnsmap 这款工具你会发现一些有趣的事情:
- 可以找到一些感兴趣的远程可访问的服务器。
- 可以查找有配置错误或者未修补已知漏洞的服务器。
- 可以寻找新域名,能够映射非显而易见或者难以发现的网络目标组织的名称(注册表查询,也就是 whois 信息查询)。
- 有时会发现某些暴力子域解析为内部 IP 地址(RFC 1918)。这就很棒了,因为有时它们是真实的最新 A 记录,这意味着可以仅通过使用标准 DNS 解析(与区域传输相反)来访问 Internet ,从中枚举目标组织的内部服务器。
- 可以发现使用动态 DNS 服务配置的嵌入式设备。此方法是通过 Google hacking 技术查找设备的替代方法。
暴力破解既可以使用 dnsmap 的内置字典,也可以使用用户提供的字典。得到的结果可以用 CSV 和其他人类可读格式保存,然后进一步处理。
dnsmap 不需要 root 特权,并且出于安全考虑,不应该用 root 运行。
下面一起来学习以下怎么使用这款工具吧!
![af04aaa66eb1cd434d4fe13def3efe25.jpeg](https://i-blog.csdnimg.cn/blog_migrate/3e7d76ad00c6ecf6795dde8746a5b74a.jpeg)
上图是 kali linux 中打开 dnsmap 这款工具的时候弹出的使用帮助界面,从上图中我们可以看到一些简单的使用帮助信息。
我这里就直接使用例子来说明各个参数的含义和使用方法。
- 不加任何参数。如果不加任何参数,那 dnsmap 会使用自己内建的字典进行子域的暴力扫描。
- 使用方法:dnsmap http://sina.com
![321f12eff5d7956663985f73a20c7b79.jpeg](https://i-blog.csdnimg.cn/blog_migrate/198bf8281a3bd8ee9ac81edf96ef4208.jpeg)
- -w 指定用户自己的字典文件。
- 使用方法:dnsmap sina.com my_dns.txt
- -r 指定一个目录,将扫描到的结果保存到这个指定的目录中,并以当前时间戳命名。
- 使用方法:dnsmap sina.com -r /tmp/
- -d 指定一个正整数,使得 dnsmap 在暴力扫面的时候能够周期性的休眠,这样不会占用系统带宽。单位是毫秒。
- 使用方法:dnsmap sina.com -d 600
-
- i 后面可以跟一个或者多个 IP 地址,使用逗号隔开,这样扫描结果中就会过滤掉有这些 IP 的结果
- -c 保存结果为 CSV 格式。
以上这些参数可以混合使用,例如:
dnsmap http://sina.com -d 800 -r /tmp/ -c /tmp/ -i 10.55.206.154,10.55.24.100 -w wordlist.txt
另外,如果要批量扫描多个域名,可以将域名保存为 domains.txt 文件,每个域名占一行,然后使用 dnsmap-bulk.sh 这个脚本批量执行,用法:dnsmap-bulk.sh domains.txt /tmp/results/
后面跟一个路径表示把结果保存到这个目录中。
再提供几个下载 dns 字典文件的网址吧:
http://packetstormsecurity.org/Crackers/wordlists/dictionaries/
http://www.cotse.com/tools/wordlists1.htm
http://wordlist.sourceforge.net/
拓展学习相关工具:
- WS-DNS-BFX
- DNSDigger
- Fierce Domain Scan
- Desperate
- DNSenum
- ReverseRaider
- Knock