DNS欺骗就是利用某种方式将我们访问的域名解析到其他服务器上,从而使得我们无法正常访问到原本我们想要访问的网站。
一、DNS欺骗过程
首先在windows server 2016虚拟机上搭建网站服务,kali作为攻击机从而实现中间人攻击,使用ettercap工具的ARP欺骗和DNS欺骗功能模块;将www.woniuxy.com欺骗到我们在windows server上搭建的网站上,客户机win10输入正确的域名无法访问到正确的网站。
二、搭建实验环境
client虚拟机(桥接)、windows server2016虚拟机(桥接)、kali虚拟机(桥接)
三、实验过程
1、Windows Server IIS建站
2、kali实施攻击
在etter.dns文件中添加域名记录解析的地址为Windows Server 2016的IP地址
vim /etc/ettercap/etter.dns
打开ettercap工具
(1)实施ARP欺骗
选择网卡 | 搜索主机 | 列出主机
将欺骗主机添加到Target1,将网关加入Target2
执行ARP欺骗
执行ARP欺骗后,client仍然可以访问到百度了
(2)实施DNS欺骗
3、客户机被骗
(1)DNS欺骗结果
访问http://www.woniuxy.com看到的确是我们用Windows ServerI搭建的网站,而用https访问却无法正常显示页面,这是因为https时需要SSL证书的。
(2)抓包分析
a、http正常访问https访问不到
第一次我们时用http访问的网站,是正常的,从报文中也可以看出来。
第二次用https访问的时候就出现tcp和443端口无法建立连接
b、https无法正常访问
因为服务器没有开启443端口
可以看到windows server本地的443端口确实没有开放
如果我开启服务器上的443端口,我们这里可以给网站编辑绑定https到443端口
但是https需要SSL证书,就需要搞一个证书
c、自建SSL证书
d、 https重新访问
现在我已经把443端口打开了
那么回到client正常访问下,看看443端口能不能访问到
因为这个证书不是权威机构颁发的所以会提示证书错误,意思就是你这个证书是不可信的
我点击“继续浏览此网站”也是可以访问到我们windows server搭建的网站的
e、流量分析
可以看到开始是client和server的三次握手,是正常的,接下来是SSL报文,后面建立连接过程是出现了问题的,client向server发送了RST。
后面的Application Data就是数据了,全是加密的数据。
前面client访问https的时候,页面有提示可能显示试图欺骗或截获你向服务器发送的数据,这是因因为我的服务器没有做任何安全问题,但是如果我的服务器做了一些安全性的问题,会直接报客户端错误。
4、更换欺骗域名
(1)ARP欺骗虚拟机
我们改一下etter.dns,我们直接将欺骗的地址改成蜗牛学院的IP,前面域名改成www.sohu.com
没有成功
(2)ARP欺骗物理机
我再试下去欺骗我的物理机192.168.242.182
浏览器页面访问没有成功,但是抓包是能够看到的
这里出现了out-of-Order和SEQ/ACK,这里报文是有问题的.
在kali上面也能看到Ip地址是有访问到101.37.65.91的
5、蜗牛学苑课程效果
蜗牛学院课程中,老师是有成功的
浏览器访问www.sohu.com 会出现下面的界面
接受风险并继续是可以跳转到蜗牛学院官网的,但是我并未能实现最后这一步。