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
Standard Record Enumeration
使用 ./dnsrecon.py -d <domain>可以执行标准的DNS查询.
./dnsrecon.py -d <domain>
root@gnu:~# dnsrecon -d google.com
[*] Performing General Enumeration of Domain: google.com
[-] DNSSEC is not configured for google.com
[*] SOA ns1.google.com 216.239.32.10
[*] NS ns1.google.com 216.239.32.10
[*] NS ns2.google.com 216.239.34.10
[*] NS ns4.google.com 216.239.38.10
[*] NS ns3.google.com 216.239.36.10
[*] MX alt3.aspmx.l.google.com 74.125.29.27
[*] MX alt4.aspmx.l.google.com 74.125.131.27
[*] MX aspmx.l.google.com 74.125.129.26
[*] MX alt1.aspmx.l.google.com 74.125.193.26
[*] MX alt2.aspmx.l.google.com 74.125.196.26
[*] MX alt3.aspmx.l.google.com 2607:f8b0:400d:c04::1b
[*] MX alt4.aspmx.l.google.com 2607:f8b0:400c:c03::1b
[*] MX aspmx.l.google.com 2607:f8b0:400e:c02::1b
[*] MX alt1.aspmx.l.google.com 2607:f8b0:4001:c03::1b
[*] MX alt2.aspmx.l.google.com 2607:f8b0:4002:c07::1a
[*] A google.com 173.194.127.132
[*] A google.com 173.194.127.133
[*] A google.com 173.194.127.134
[*] A google.com 173.194.127.135
[*] A google.com 173.194.127.136
[*] A google.com 173.194.127.137
[*] A google.com 173.194.127.142
[*] A google.com 173.194.127.128
[*] A google.com 173.194.127.129
[*] A google.com 173.194.127.130
[*] A google.com 173.194.127.131
[*] AAAA google.com 2404:6800:4005:804::1007
[*] ......
Zone Transfer
DNS区域传输可用于解读公司的拓扑结构.如果发送DNS查询,列出了所有DNS信息,包括MX,CNAME,区域系列号,生存时间等,这就是区域传输漏洞。DNS区域传输漏洞现今已不容易发现,DNSrecon可使用下面方法查询
./dnsrecon.py -d <domain> -a
./dnsrecon.py -d <domain> -t axfr
Reverse Lookup
反向DNS查询
./dnsrecon.py -r <startIP-endIP>
Domain Brute-Force
DNS枚举,会查询A,AAA,CNAME记录:
./dnsrecon.py -d <domain> -D <namelist> -t brt
Cache Snooping
DNS服务器存在一个DNS记录缓存时,就可以使用这个技术.DNS记录会反应出许多信息,DNS缓存窥探并非经常出现.:
./dnsrecon.py -t snoop -n Sever -D <Dict>
Zone Walking
./dnsrecon.py -d <host> -t zonewalk
Metasploit result import
下载插件 https://github.com/darkoperator/dnsrecon/tree/master/msf_plugin/dnsr_import.rb
cp dnsr_import.rb /opt/metasploit/apps/pro/msf3/plugins/dnsr_import.rb
msfconsole
msf> load dnsr_import
msf> help
DNSR_Import Commands
====================
Command Description
------- -----------
import_dnsrecon_csv Import DNSRecon CSV output file.
import_dnsrecon_xml Import DNSRecon XML output file.
http://pentestlab.wordpress.com/tag/dnsrecon/
https://github.com/darkoperator/dnsrecon/