今天先介绍在windows环境下使用Cain这个著名的工具进行DNS Spoof(即DNS欺骗),该篇教程主要针对新手,因此每一个步骤都详细截了图,并做了解释,希望能做到简单易懂,让新手能学到东西。
废话多了,正文开始: 首先说下测试环境:两台虚拟机,XP系统,为了模拟真实局域网环境,都是使用用桥接方式(如果还不明白VMware各种网络接入方式的,请自己Google或者留言提问) 攻击者:192.168.1.211 受害者:192.168.1.212 网关(TPLink路由器):192.168.1.1 我们先看怎么使用工具,再来说原理。
安装Cain的步骤不再阐述,无非就是一直点下一步,确认测试环境正常后,打开cain.
先点击第一个图标选好网卡,一般只有一个啦~~~~
在Configure中的Arp选项可以规定使用伪造的IP地址(必须是未使用的IP),这个选不选无所谓。
然后切换到Sniffer选项卡,点击那个蓝色十字扫描局域网中存活主机,这里可以自定义范围(有些时候有些主机扫不出来可以自己缩小下范围再扫
看扫出来的结果,其中192.168.1.212是要欺骗的XP主机,192.168.1.1是网关
然后再底下切换到ARP选项卡,先点击一下空白的列表,然后照例点击蓝色十字添加欺骗主机。左边选中网关(如果不知道网关IP,使用ipconfig看其中的Default Getway一项 ),右边选择要欺骗的主机,可以按住shift多选。
确定以后可以看到欺骗条目已经被添加进去了,状态为Idle(闲置),因为我们准备工作还未完成,暂时不开始欺骗。
左边列表切换到ARP DNS一项,蓝色十字添加DNS欺骗规则。上面是要欺骗的域名,比如这里填写baidu.com,下面是要欺骗到的IP,Resolve按钮可以根据域名PING出相应IP,这里我们用g.cn的IP演示。 也就是说如果欺骗生效,192.168.1.212这台机子访问baidu.com时会解析到google的服务器。
完成准备以后我们就可以点击那个黄色图标开始欺骗啦~~~
现在我们来到受害主机192.168.1.212中ping一下baidu.com
和欺骗之前的结果一做比较,你就发现欺骗成功了。
再回到cain中ARP DNS那里可以看到数据包访问数记录。
同样在浏览器中浏览baidu.com,自动跳到google,哈哈
工具会用了,但是原理你懂么?如果能把每一个工具的原理都弄懂,你也会得到不错的进步。 为了防止新手头晕,我这里只简单说下原理。首先你要了解局域网的基本通信原理。 局域网是通过MAC地址寻找指定主机,arp表的作用就是规定了IP地址与MAC地址的对应关系。我们向受害主机发送Arp数据包时,受害主机就会把其中的对应关系记录到自己的arp表中,这时如果我们把自己的MAC地址告诉受害主机,并欺骗他这是网关192.168.1.1的MAC地址,这是受害主机向网关发送的数据包就全部到我们机子上来了XD。当受害机器请求baidu.com时,我们就假装自己是网关返回一个假的IP给它,他就会上当去访问google的服务器。 如果把欺骗的IP地址换成是一个挂好马的地址呢??? Arp欺骗的详细原理可以参考这里:http://www.xjwb.com.cn/onews.asp?id=188 这个是欺骗前后的arp表对照
下面说下一些可能出现的问题: ①我想把baidu.com欺骗到听潮社区的IP(216.34.181.96),但是为什么欺骗后浏览器没有跳转到听潮社区,而是出现一个英文错误页面? ——因为请求216.34.181.96的时候是报文中的Host字段规定了要访问的网站,而你访问时host值是baidu.com,这个ip上不存在这个域名,所以就出错啦。而像文中演示的g.cn是使用独立IP的,所以正常。 ②为什么我停止了欺骗并关掉了Cain,但受害主机访问baidu.com时还是会跳转到google? ——如果出现这种情况,我个人认为是Cain没有处理好,因为测试Ettercap时就不会出现这种情况(见下一篇教程)。这时请手动清空受害机器的本地DNS缓存:ipconfig /flushdns ③欢迎广大基友前来提问,小弟尽力作答,这篇教程到这里就结束了,如果大牛发现小弟有不妥或遗漏之处,请不吝赐教。
原文来自:http://www.l0s4r.com/post/1cb92fed_5317879
|