一、实验目标
- 理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法
二、实验内容
-
简单应用SET工具建立冒名网站
-
ettercap DNS spoof
-
结合应用两种技术,用DNS spoof引导特定访问到冒名网站
-
(请勿使用外部网站做实验)
三、基础知识
SET
Social-Engineer Toolkit
:社会工程学工具包,由TrustedSec的创始人创建和编写,是一个开源的Python驱动工具,旨在围绕社交工程进行渗透测试
Ettercap
- 支持功能:
- 嗅探实时连接
- 内容过滤等功能
- 支持插件,可以通过添加新的插件来扩展功能
- 工作原理
- 将网络接口设置为混杂模式并通过ARP欺骗感染目标设备,由此该设备成为“中间人”并发动对受害者的各类攻击
- 支持对许多协议(包括加密协议)的主动和被动分离,并具有网络和主机分析方面的多项功能,包含四种操作模式:
- 基于IP的模式:根据IP源和目的地过滤数据包;
- 基于MAC的模式:根据MAC地址过滤数据包,该模式能够对嗅探通过网关的连接起到作用;
- 基于ARP的模式:利用ARP欺骗方式在两个主机之间的交换式局域网(全双工即支持双方同时发送信息)上进行嗅探;
- 基于公共ARP的模式:利用ARP欺骗方式从一台受害者主机到其它所有主机的交换式局域网(全双工)上进行嗅探。
- 具体功能
- 在已建立的连接中注入字符:将字符注入到服务器(模拟命令)或客户端(模拟回复)并同时保持实时连接;
- SSH1支持:嗅探用户名和密码,甚至是SSH1连接的数据(能够以全双工方式嗅探SSH连接);
- HTTPS支持:嗅探HTTP SSL连接上的加密数据——通过Cisco路由器的GRE tunnel对远程流量进行嗅探,并对它进行”中间人攻击”;
- 插件支持:使用Ettercap的API创建自定义插件;
- 密码收集:可以收集以下协议的密码信息——TELNET、FTP、POP、IMAP、rlogin、SSH1、ICQ、SMB、MySQL、HTTP、NNTP、X11、Napster、IRC、RIP、BGP、SOCKS 5、IMAP 4、VNC、LDAP、NFS、SNMP、Half-Life、Quake 3MSN、YMSG;
- 数据包过滤/丢弃:设置一个过滤器,用于在TCP或UDP有效内容中查找特定字符串(或十六进制序列),并用自定义字符串/序列替换它,或丢弃整个数据包;
- 操作系统指纹:可以提取受害主机及其网络适配器的操作系统信息;
- 终止连接:从connections-list(连接列表)中终止所选择的连接;
- 局域网的被动扫描:检索局域网上的主机信息、开放端口、可用服务的版本号、主机(网关、路由器或简单PC)的类型以及跃点数的预估距离;
劫持DNS请求; - 主动或被动地在局域网中找到其它受感染者的功能。
四、实验任务
1.简单应用SET工具建立冒名网站
- 输入命令
sudo vi /etc/apache2/ports.conf
,此时set工具的访问端口已经是80端口了,不需要修改了,如果不是80,需要修改为80
- 输入命令
netstat -tupln |grep 80
,查看此时80端口是否被占用,如图则无占用,如有进程占用,可使用命令kill+进程号结束该进程
- 输入命令
apachectl start
开启Apache服务
- 在kali攻击机输入命令
setookit
,启动set工具 - 选择
1
,社会工程学攻击
- 选择
2
,钓鱼网站攻击向量
- 选择
3
,认证获取攻击
- 选择
2
,站点克隆
- 输入kali的IP地址后,输入要克隆的网站url,我这里输入的是云班课的登录界面
- 在靶机(win2008:192.168.228.133)上,打开浏览器,输入kali攻击机的IP地址(192.168.228.128),会呈现一个与真实网站一模一样的页面,这里出现云班课界面
- 在攻击机上可以看到靶机的访问情况,如果在靶机上输入用户名密码登录,还可以获取其用户名密码
- 当然直接让受害者访问攻击者的IP地址其实不太现实,我们可以对其进行伪装,用短网址生成器给我们的网址包装一下,就会生成下图这样的一个看不出来是什么的网址,如果发送给受害者,防范意识薄弱的人可能就会点开,甚至输入自己的账号密码
- 打开这个经过短网址生成器包装过的网址后,会出现如下图的界面,提醒将还有几秒钟跳入
192.168.228.128
- 等待片刻后,界面就会跳转到我们想要的
192.168.228.128
的冒名网站
2.ettercap DNS spoof
- 输入命令
ifconfig eth0 promisc
,将网卡设为混杂模式,使其能接收所有经过它的数据流,并使用ifconfig eth0
检查
- 使用命令
vi /etc/ettercap/etter.dns
,修改DNS缓存表
- 使用命令
ettercap -G
启动ettercap可视化界面
- 在选择好网卡
eth0
后点击√
开始监听
- 在工具栏中选择
Hosts
——>Scan for hosts
扫描子网
- 在
Hosts list
中查看扫描到的存活主机
- 虚拟机的网关为
192.168.228.2
,靶机Windows2008的IP为192.168.228.133
- 将网关的IP添加到target1,将靶机IP添加到target2
- 点击工具栏中的
Plugins
——>Manage the plugins
- 选择
dns_spoof
即DNS欺骗的插件,双击后即可开启
- 此时已经处于嗅探模式,靶机中Ping DNS缓存表中添加的网站,解析地址都是攻击机的IP地址
- kali端看到反馈信息如下
3.结合应用两种技术,用DNS spoof引导特定访问到冒名网站
原理
- 使用ettercap DNS spoof技术进行DNS欺骗,当靶机访问某域名时,实际上访问了kali攻击机服务器
- 然后使用SET技术通过kali攻击机的地址,跳入克隆后的冒名钓鱼网站,输入登录密码等信息,就会被盗取信息
操作
- 启动SET工具和Ettercap dns_spoof,在靶机输入DNS缓存表中添加的网站,即进入了假冒网站
- 用户在假冒网站输入用户名、密码等信息后,在攻击机kali中即可盗取个人信息
五、基础问题回答
1.通常在什么场景下容易受到DNS spoof攻击
- 连接不明的公共WiFi,连接不明来路的WiFi非常容易受到中间人攻击
- 当和攻击者在同一个子网内时,容易受到DNS spoof攻击
2.在日常生活工作中如何防范以上两攻击方法
- 直接访问重要网站的IP地址,以免受到ARP欺骗攻击和DNS欺骗攻击了;
- 不在高度敏感和有保密要求的系统上浏览网页,最好不使用DNS;
- 正确部署和配置入侵检测系统;
- 关闭DNS服务器的递归功能;
- 多注意当前URL与官方或同类产品的格式是否一致;
- 使用最新的稳定版本的DNS服务器软件并及时安装补丁;
- 适当记录一下非常重要的网站或者涉及重要信息的网站的IP地址;
- 提高自身防范意识,不去访问来路不明的网页,不要随便点击不清楚的网页,更不要在异常或不明的网页输入密码等重要信息。
六、实验中遇到的问题
问题1:在输入指令apachectl start
指令时,出现错误
解决1:进入su
模式即可
问题2:刚开始使用win10主机作为靶机,攻击失败
解决2:使用win2008作为虚拟机即可,原因分析可能是win10系统或浏览器对网络欺诈有防范机制
七、实验心得体会
这次实验做的是网络欺诈防范,通过参考课代表和学姐的博客完成。通过本次实验,我掌握了包括DNS欺骗和ARP欺骗在内的SET技术和ettercap DNS spoof技术,使我对网络欺诈的方法和原理一定的了解,也提高了我对网络风险的认识。但本次实验还是有很大的局限性,比如冒名的网址如何发送给用户并让他点开、只能在特定的浏览器和操作系统中实现。在今后的学习中我会继续努力,学习更多知识。