为了方便小伙伴们在业余的时间研究安全行业的技能,现整理一个web渗透测试系列,旨在帮助游走在安全圈外的小伙伴们,更快的进入安全圈,欢迎大家来踊跃交流。
01-收集DNS信息
WHOIS(域名数据库查询)
一个域名的所有者可以通过查询WHOIS数据库而被找到;对于大多数根域名服务器, 基本的WHOIS由ICANN维护,而WHOIS的细节则由控制那个域的域注册机构维护。
对于240多个国家代码顶级域名(ccTLDs),通常由该域名权威注册机构负责维护WHOIS。例如中国互联网络信息中心(China Internet Network Information Center)负责 .CN 域名的WHOIS维护,香港互联网注册管理有限公司(Hong Kong Internet Registration Corporation Limited) 负责 .HK 域名的WHOIS维护,台湾网络信息中心 (Taiwan Network Information Center) 负责.TW 域名的WHOIS维护。
Dns服务器查询
除了whois查询之外,我们还可以通过host命令来查询dns服务器,命令格式为:
host -t ns domainName
A记录查询
A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的子域名。通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。
host -t a domainName
mx记录查询
MX记录也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。您只需在线填写您服务器的IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。
简单的说,通过操作MX记录,您才可以得到以您域名结尾的邮局。
域名枚举
在得到主域名信息之后,如果能通过主域名得到所有子域名信息,在通过子域名查询其对应的主机IP,这样我们能得到一个较为完整的信息。
dnsmap
反向地址解析
我们经常使用到得DNS服务器里面有两个区域,即“正向查找区域”和“反向查找区域”,正向查找区域就是我们通常所说的域名解析,反向查找区域即是这里所说的IP反向解析,它的作用就是通过查询IP地址的PTR记录来得到该IP地址指向的域名,当然,要成功得到域名就必需要有该IP地址的PTR记录。PTR记录是邮件交换记录的一种,邮件交换记录中有A记录和PTR记录,A记录解析名字到地址,而PTR记录解析地址到名字。地址是指一个客户端的IP地址,名字是指一个客户的完全合格域名。通过对PTR记录的查询,达到反查的目的。
反向域名解析系统(Reverse DNS)的功能确保适当的邮件交换记录是生效的。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应。IP反向解析主要应用到邮件服务器中来阻拦垃圾邮件,特别是在国外。多数垃圾邮件发送者使用动态分配或者没有注册域名的IP地址来发送垃圾邮件,以逃避追踪,使用了域名反向解析后,就可以大大降低垃圾邮件的数量。
比如你用 xxx@name.com 这个邮箱给我的邮箱 123@163.com 发了一封信。163邮件服务器接到这封信会查看这封信的信头文件,这封信的信头文件会显示这封信是由哪个IP地址发出来的。然后根据这个IP地址进行反向解析,如果反向解析到这个IP所对应的域名是http://name.com 那么就接受这封邮件,如果反向解析发现这个IP没有对应到http://name.com,那么就拒绝这封邮件。
由于在域名系统中,一个IP地址可以对应多个域名,因此从IP出发去找域名,理论上应该遍历整个域名树,但这在Internet上是不现实的。为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域in-addr.arpa。这样欲解析的IP地址就会被表达成一种像域名一样的可显示串形式,后缀以逆向解析域域
名"in-addr.arpa"结尾。
例如一个IP地址:222.211.233.244,其逆向域名表达方式为:244.233.221.222.in-addr.arpa
两种表达方式中IP地址部分顺序恰好相反,因为域名结构是自底向上(从子域到域),而IP地址结构是自顶向下(从网络到主机)的。实质上逆向域名解析是将IP地址表达成一个域名,以地址做为索引的域名空间,这样逆向解析的很大部分可以纳入正向解析中。
常用的反向解析工具为nslookup和dig。
使用dig进行反向解析的命令格式为:
dig -x ip @dnsserver #用 dig 查看反向解析
其中dnsserver可以不用指定,默认会使用本机配置的域名服务器进行反向查询。指定dsn服务器示例如下图:
但是实际情况并不是尽如人意,查找的服务器不同,得到的结果的完整度也不同,比如上图的两个测试,都没有得到想要的结果。很多时候,我们到提供反向查询的网站进行查找,可能效果会更好一点。
下面是在http://dns.aizhan.com/的查询结果:
所以想要获得完整的信息,可以多尝试不同的工具,整合结果。很多工具无法做反向查询的原因,在于域名所有者没有添加反向解析记录。
关于DNS区域传送漏洞
很多dns探测工具,都会首先尝试dns区域传送,然后才是暴力枚举,那么什么是DNS区域传送漏洞呢?
区域传送操作指的是一台后备服务器使用来自主服务器的数据刷新自己的zone数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主域名服务器因意外故障变得不可用时影响到全局。一般来说,DNS区域传送操作只在网络里真的有后备域名DNS服务器时才有必要执行,但许多DNS服务器却被错误地配置成只要有人发出请求,就会向对方提供一个zone数据库的拷贝。如果所提供的信息只是与连到因特网上且具备有效主机名的系统相关,那么这种错误配置不一定是坏事,尽管这使得攻击者发现潜在目标要容易得多。真正的问题发生在一个单位没有使用公用/私用DNS机制来分割外部公用DNS信息和内部私用DNS信息的时候,此时内部主机名和IP地址都暴露给了攻击者。把内部IP地址信息提供给因特网上不受信任的用户,就像是把一个单位的内部网络完整蓝图或导航图奉送给了别人。
此处推荐使用dnsenum ,此款工具在解析域名的时候,会自动检测域传送漏洞。
通过DNS 解析找到IP 地址。
ping命令
nslookup
dig @8.8.8.8 http://testfire.net 指定dns服务器
dig +trace http://testfire.net 获取域名的详细解析过程
利用站长工具
http://tool.chinaz.com/dns/?type=1&host=testfire.net&ip=
以上为整理的相关DNS信息收集的一些方法与思路。