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