DNS欺骗
原理
将域名和IP地址的相互映射关系存放在一个分布式的数据库中
DNS 欺骗原理
-
攻击者冒充DNS服务器,为被攻击主机提供错误的IP地址
-
基于ARP攻击
-
本质上属于MITM(中间人攻击)
- 网络层通过ARP欺骗实现身份伪造
- 应用层通过软件/脚本发送伪造虚假DNS响应报文
配置网络信息
设置Kali Linux主机、Windows Server 2016服务器与Windows 10在同一个可以上网的网段
kali ip地址:192.168.139.129
windows 10 ip地址:192.168.139.130
windows server 2016 ip地址:192.168.139.131
连通性测试:
kali ping win10 和 windows server 2016:
win 10 ping kali 和 windows server 2016:
windows server 2016 ping kali 和 win10:
ettercap 开始攻击
编辑 ettercap 工具执行 dns 欺骗时的参数文件:
在文件中编辑以下内容并保存:
IPv4地址的域名 A 错误的IPv4地址(Windows Server 2016的IP地址,或者一个第三方网站的IP地址)
点击 scan for hosts 扫描 与kali同一网段的其他主机:
点击 Hosts Lists 列出主机列表:
查看 Kali 网段的网关地址:192.168.139.2
右键,将 win10 列为 Target1 ,网关列为 Target2
ARP 欺骗
选择 Mitm -> ARP posisoning 对目标主机和网关进行 ARP 欺骗
分析:Man in the middle攻击,Kali 会向 Win 10 和网关发送虚假的 ARP 数据包。
对Win10,Kali 会发送 ARP 响应包,声称自己是网关,让 Win10 更新其 ARP 缓存表,将原本网关对应的 MAC 地址替换为 Kali 的 MAC 地址。
同时,对于网关,Kali Linux 也会发送 ARP 响应包,声称自己是 Win 10,让网关更新其 ARP 缓存表,将原本 Win 10 对应的 MAC 地址替换为 Kali 的 MAC 地址。
Kali 的 MAC 地址:
win10 中查看 arp 缓存表:网关MAC地址已经被修改为 Kali MAC 地址,攻击成功
dns 欺骗
Plugins -> Manage the plugins
选择1dns_spoof
win10 以http 方式访问 www.baidu.com
打开Wireshark抓包
http包:
http包中目的ip地址为Windows Server 2016 IP 地址,说明 dns 欺骗成功,百度的域名被解析为 Windows Server 2016 IP地址,因此实际显示的内容为 Windows Server2016提供的页面
dns 包
win 10 请求 www.baidu.com 域名对应ip的dns请求报文:
- 通过 ARP 欺骗,原网关地址 192.168.139.2 被解析为 KALI 的MAC 地址
kali返回给win10的 dns 响应报文:
- 将 百度的域名解析为 192.168.139.131,使得win10 访问到的是 Windows server 2016 IIS服务器提供的页面
且此时 win10可以正常访问网络(Kali作为中间人,将win10请求的内容发送给真实网关,再将真实网关的响应消息返回给 win10)
https访问
win10以 https访问目标域名,无法访问
查看此时的dns请求和响应报文:
请求报文:
响应报文:
可以发现dns请求和响应报文与 http 是相同的,但是由于 IIS 服务器没有开启 https 服务(即 443 端口不开放),因此无法访问到对应资源
添加证书
在服务器上IIS里开启https服务,为其开启443端口,并为其添加一个证书
安装证书服务:
选择服务器证书:
创建自签名证书:
创建的证书如下:
绑定网站到 https,开放443端口:
win10以 https 访问 www.baidu.com
报文分析:
windows server 2016向 win10发送 Server Hello 报文,包括 Certificate 等信息
但由于证书不安全,网关会发送一个 Encrypted Alert ,表示证书验证失败
标签:ARP,网关,2016,Kali,地址,DNS,win10,欺骗 From: https://www.cnblogs.com/chchee-blog/p/18548484