nslookup,dig,host等工具命令实例
演示环境:BackTrack 5 Release 3
假设这里我们要查询的域名是 evil.com
google 的公众 dns 服务器为 8.8.8.8
baidu 的公众 dns 服务器为 202.108.22.220
hinet 的公众 dns 服务器为 168.95.1.1
并且本地的 /etc/resolv.conf 文件默认指向 8.8.8.8
《 dig 实战篇 》
查询 evil.com 域的所有类型资源记录:
1
root@bt:~# dig +qr evil.com. any
使用 baidu 的公众 dns 服务器查询 evil.com 域的所有类型资源记录:
1
root@bt:~# dig @202.108.22.220 +qr evil.com. any
使用 hinet 的公众 dns 服务器查询 evil.com 域的所有 A 记录:
1
root@bt:~# dig @168.95.1.1 +qr evil.com. a
使用 google 的公众 dns 服务器查询 evil.com 域的所有 SOA 记录:
1
root@bt:~# dig @8.8.8.8 +qr evil.com soa
假设从上一条命令的输出中,得到 evil.com 域的权威名字服务器为
ns1.evil.com
查询该名字服务器的 IP:
1
root@bt:~# dig ns1.evil.com.
假设上面命令输出的 IP 为 192.168.0.1
向该权威名字服务器执行完全区域传送,尝试获取 evil.com 域的所有类型资源记录,包括未公开注册的,只能在其内网使用的主机名:
1
root@bt:~# dig @192.168.0.1 evil.com. axfr
向该权威名字服务器执行增量区域传送,尝试获取 evil.com 域已更新的所有类型资源记录,包括未公开注册的,只能在其内网使用的主机名:
1
root@bt:~# dig @192.168.0.1 evil.com. ixfr
使用 google 的公众 dns 服务器查询 evil.com. 域的所有 MX 记录(邮件交换服务器),并且过滤掉输出的命令版本,查询时间统计,仅显示回答部分:
1
root@bt:~# dig @8.8.8.8 +nocmd +noall +answer evil.com. mx
尝试对 evil.com 中的权威名字服务器上运行的 BIND 进行版本探测,旗标获取:
1
root@bt:~# dig @192.168.0.1 +nocmd txt chaos VERSION.BIND +noall +answer
注意,管理员可能设置不显示 BIND 的版本信息,或者修改成有误导性的信息,甚至禁止显示版本信息,例如对 baidu 的公众 dns 服务器进行版本探测结果如下:
1
2
root@bt:~# dig @202.108.22.220 +nocmd txt chaos VERSION.BIND +noall +answer
VERSION.BIND. 0 CH TXT "baidu dns"
上面最右侧字段双引号中的字符串就是自定义的版本信息
向 google 的公众 dns 服务器查询 dns.baidu.com 的 A 记录:
1
2
root@bt:~# dig @8.8.8.8 +nocmd +noall +answer dns.baidu.com. a
dns.baidu.com. 503 IN A 202.108.22.220
可以看到其 IP 和前面给出的匹配,那么,我们通过反向解析查询,验证一下
202.108.22.220 能否对应回 dns.baidu.com
1
2
3
4
5
root@bt:~# dig @8.8.8.8 +nocmd +noall +answer -x 202.108.22.220
220.22.108.202.in-addr.arpa. 4189 IN PTR xd-22-220-a8.bta.net.cn.
root@bt:~# dig @8.8.8.8 +nocmd +noall +answer xd-22-220-a8.bta.net.cn.
xd-22-220-a8.bta.net.cn. 3599 IN A 202.108.22.220
结合上面2条查询结果可以分析出:
dns.baidu.com 与 xd-22-220-a8.bta.net.cn 都对应到 202.108.22.220
前者应该是后者的别名( CNAME )
向 google 的公众 dns 服务器查询 www.evil.com 并显示整个解析过程:
假设 evil.com 域禁止了区域传送,那么我们可以使用 fierce 对该域中隐藏的主机名和 IP 地址记录,进行暴力破解:
1
2
root@bt:~# cd /pentest/enumeration/dns/fierce/
root@bt:/pentest/enumeration/dns/fierce# ./fierce.pl -dns evil.com
以上命令将使用 fierce 目录内建的字典文件,使用 -wordlist 选项,可以加载你自定义的字典:
1
root@bt:/pentest/enumeration/dns/fierce# ./fierce.pl -dns evil.com -wordlist MyWordList.txt
*****通过阅读 dig 的 man 文档了解到,dig 默认使用递归查询,当我们使用 @ 操作符向指定的 dns 服务器发起请求解析它负责的域中的所有记录时,如果对方配置成不允许递归请求,那么很有可能拒绝本次查询,解决方法很简单:既然对方不准我们递归,那么我们就不要递归,这通过使用 +norecurse 参数来实现,对于安全策略不够严谨的一些 dns 服务器而言,这等同于成功的进行了一次完全区域传送,
以 baidu 的 dns 服务器为例,在使用 +norecurse 参数前,它拒绝递归解析所有查询 baidu.com 域中记录的请求:
1
2
3
root@bt:~# dig @dns.baidu.com baidu.com any
;; WARNING: recursion requested but not available
添加 +norecurse 参数,再次发起请求,我们伪装成迭代查询,注意下面返回的资源记录数量,这基本和一个被允许区域传送的客户端得到的结果一样详尽:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@bt:~# dig @dns.baidu.com +nocmd +noall +answer +norecurse baidu.com. any
baidu.com. 7200 IN SOA dns.baidu.com. sa.baidu.com. 2012121261 300 300 2592000 7200
baidu.com. 7200 IN TXT "v=spf1 include:spf1.baidu.com include:spf2.baidu.com include:spf3.baidu.com a mx ptr ~all"
baidu.com. 7200 IN MX 20 jpmx.baidu.com.
baidu.com. 7200 IN MX 20 mx50.baidu.com.
baidu.com. 7200 IN MX 10 mx.n.shifen.com.
baidu.com. 7200 IN MX 20 mx1.baidu.com.
baidu.com. 600 IN A 220.181.111.86
baidu.com. 600 IN A 123.125.114.144
baidu.com. 600 IN A 220.181.111.85
baidu.com. 86400 IN NS dns.baidu.com.
baidu.com. 86400 IN NS ns7.baidu.com.
baidu.com. 86400 IN NS ns2.baidu.com.
baidu.com. 86400 IN NS ns3.baidu.com.
baidu.com. 86400 IN NS ns4.baidu.com.
可以看到,SOA,MX,NS,A 记录甚至连 TXT 记录都一览无遗
当然,这并不是说, +norecurse 是万能丹,只是碰巧 dns.baidu.com 的安全策略有逻辑上的缺陷,而这里通过 dig 挖掘到的仅是其中之一;但这个思路值得借鉴:对于那些看似固若金汤的名字服务器,应该采用多种不同的手段来测试,尝试将提交的查询请求“复杂化”,观察并根据服务器的响应修改参数再次提交,或许就能曝露出那些不为人知的错误配置和安全漏洞,这也是渗透测试的重要思想之一
《 基于shell 命令行的 whois 实战篇 》
查询 evil.com 域的注册者信息,受理注册的机构,该域的名字服务器等信息:
1
root@bt:~# whois evil.com
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com