前言
- 靶机:seedubuntu 12.01,IP:192.168.199.138
- 攻击机:Kali-2020.4,IP:192.168.199.129
- 工具:ettercap
原理
DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用记住IP地址。DNS协议运行在UDP协议之上,使用端口号53,DNS并不包含任何认证机制,因此第三方可以对DNS数据包进行伪造。
DNS欺骗攻击
Kali利用ettercap对seed进行dns欺骗攻击并观察结果,然后尝试静态绑定IP/DNS后再观察结果。在kali中编辑ettercap的配置文件,将所有.com的域名都解析到kali的ip:
vim /etc/ettercap/etter.dns*.com A 192.168.199.129
在kali桌面上起一个服务器、配置index.html
python3 -m http.server 80
现在seedubuntu访问网页是正常的
接下来,在kali上启动ettercap工具利用arp中间人攻击实现dns欺骗,进入图形化界面
ettercap -G
Target 1设置攻击目标,Target 2设置网关
在mitm选项中,选择arp欺骗中间人攻击,选择嗅探远程连接(Sniff remote connections)
启用dns_spoof插件
配置完成后,左上角开始攻击
此时再在seedubuntu上访问网站,发现访问到了我们刚才设置的kali页面上
查看dns解析,com被解析到了攻击机
nslookup www.baidu.com
对DNS欺骗攻击的防御
静态绑定DNS/IP映射可以有效防止DNS欺骗
seedubuntu中重启网络服务或重启系统清除dns缓存,然后再绑定IP/DNS映射关系,把baidu绑定到真实IP或CDN地址,即可正常访问
/etc/init.d/networking restart
vim /etc/hosts
110.242.68.3 www.baidu.com
目前互联网中主流方法是采用DNSSec,其基于公钥体制的签名验证机制可实现DNS消息身份认证和完整性保护