基础问题回答
- 问:通常在什么场景下容易受到DNS spoof攻击?
- 同一局域网下,以及各种公共网络。
- 问:在日常生活工作中如何防范以上两攻击方法?
- 答:DNS欺骗攻击是很难防御的,因为这种攻击大多数本质都是被动的。通常情况下,除非发生欺骗攻击,否则你不可能知道你的DNS已经被欺骗,只是你打开的网页与你想要看到的网页有所不同。
- 使用最新版本的DNS服务器软件,并及时安装补丁;
- 关闭DNS服务器的递归功能。DNS服务器利用缓存中的记录信息回答查询请求或是DNS服务器通过查询其他服务获得查询信息并将它发送给客户机,这两种查询成为递归查询,这种查询方式容易导致DNS欺骗。
- 不要依赖DNS:不要在高度敏感和保密要求高的系统上浏览网页,最好不要使用DNS。如果有软件依赖于主机名来运行,那么可以在设备主机文件里手动指定。
- 使用入侵检测系统:只要正确部署和配置,使用入侵检测系统就可以检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击。
实践目标
本实践的目标是:理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。
实践内容概述
- 简单应用SET工具建立冒名网站 (1分)
- ettercap DNS spoof (1分)
- 结合应用两种技术,用DNS spoof引导特定访问到冒名网站(1.5分)
实践过程:
1. 简单应用SET工具建立冒名网站
将SET工具的访问端口改为默认的80端口。
使用sudo vi /etc/apache2/ports.conf
命令修改Apache的端口文件,将端口改为80。
使用netstat -tupln |grep 80
命令查看80端口是否被占用。如果有,使用kill+进程号杀死该进程。
使用apachectl start
开启Apache服务;输入setoolkit
打开SET工具:
依次选择【1(社会工程学攻击)、2(钓鱼网站攻击向量)、3(登陆密码截取攻击)、2(克隆网站)】
接着输入攻击机的IP地址,也就是kali的IP地址:
输入被克隆的url,这里使用博客园地址www.cnblogs.com
:
在Kali的浏览器上输入本机ip地址测试,访问到页面
但是没有捕捉到输入的账号密码信息【。
尝试点别的东西,在Set工具中依次选择【1、2、3、1(网站模版)、3(Facebook)】
访问到Facebook页面,但是是浏览器版本太低吗……
输入学号当作账号密码,Kali捕获到相关信息
2. ettercap DNS spoof
使用指令ifconfig eth0 promisc
将kali网卡改为混杂模式;
(每当电脑提醒我要输入密码的这种信息就感到害怕……)
输入命令vi /etc/ettercap/etter.dns
对DNS缓存表进行修改
可以添加几条对网站和IP的DNS记录,这里添加一条百度地址吧
先ping一下百度
输入ettercap -G
指令,开启ettercap,点击工具栏中的Sniff——>unified sniffing
,然后在弹出的界面中选择eth0->ok
,即监听eth0网卡:
在工具栏中的Hosts下先点击Scan for hosts
扫描子网,再点击Hosts list
查看存活主机,将kali网关的IP(172.20.10.1)添加到target1,靶机IP(172.20.10.3)添加到target2:
选择Plugins—>Manage the plugins
,双击dns_spoof
选择DNS欺骗的插件
点击左上角的start
选项开始嗅探,此时在靶机中用命令行ping www.baidu.com
会发现解析的地址是攻击机的IP地址:
此时在ettercap上也成功捕获一条访问记录:
3. 结合应用两种技术,用DNS spoof引导特定访问到冒名网站
前置准备大概如任务一、任务二