实验报告:网络欺诈与防范实践
1. 实验内容
- 使用SET工具建立冒名网站;
- 使用Ettercap进行DNS欺骗;
- 将SET与Ettercap结合,对靶机进行钓鱼攻击;
- 提高防范意识,并提出具体防范方法。
2. 实验目的
对DNS欺骗与冒名网站进行尝试,通过实践理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。
3. 实验环境
安装Kali镜像以及安装Win7镜像的2台VMware虚拟机,具体配置如下图所示:


4. 实验过程与分析
4.1 使用SET工具建立冒名网站
4.1.1 建立冒名网站
SET,即Social-Engineer Toolkit,是一款Kali自带的用于社会工程学攻击的开源渗透测试社会工程学工具包。在有root权限的前提下输入以下命令启动SET工具:
setoolkit
在第一个菜单中选择1) Social-Engineering Attacks,进行社会工程学攻击。

在第二个菜单中选择2) Website Attack Vectors,使用网页攻击向量模块。该模块通过创建恶意网站或克隆合法网站来欺骗用户,获取敏感信息或执行恶意操作。

在第三个菜单中选择3) Credential Harvester Attack Method,使用凭证收集攻击方法模块。该模块会将所输入的用户名、口令记录下来,并实时显示捕获的凭证信息。

在第四个菜单中选择2) Site Cloner,用于克隆网站。

在IP填空中填入伪造网站的监听地址,此处填写Kali虚拟机的IP地址192.168.57.133,在目标网站的URL中输入被克隆的网站https://www.tykd.com/User/login/

4.1.2 验证欺骗效果
在靶机浏览器中访问伪造网站的监听地址(192.168.57.133),发现看到一个与原网站高仿的页面,说明冒名网站初步搭建成功。

在冒名网站中输入登录邮箱和口令,发现在kali的SET中可以抓取到靶机在网站中输入的明文邮箱地址与口令。

4.2 使用Ettercap进行DNS欺骗
4.2.1 进行DNS欺骗
Ettercap,一款功能强大的网络嗅探和中间人攻击工具,主要用于交换局域网环境下的渗透测试和安全评估。为了能够进行嗅探和欺骗攻击,此处需要将网卡eth0设置为混杂模式,从而监听整个网络的数据流。
使用以下命令将网卡eth0设置为混杂模式:
ifconfig eth0 promisc
使用以下命令查看设置情况,出现promisc说明设置成功:
ifconfig eth0

在root权限下使用以下命令编辑定义虚假DNS记录的etter.dns文件:
vi /etc/ettercap/etter.dns
在文件中添加两条DNS记录(A记录表示IPv4地址映射):
www.tykd.com A 192.168.57.133 #将www.tykd.com这个具体域名解析到192.168.57.133
*.tykd.com A 192.168.57.133 #将所有以.tykd.com结尾的子域名都解析到192.168.57.133

在kali终端中输入以下命令查看网关的IP地址,发现网关IP地址为192.168.57.2:
route -n

通过以下命令打开Ettercap工具的图形化界面:
ettercap -G
打开sniffing at startup,选择网卡为eth0,点击右上角的√进入。

在Win7靶机的命令行中输入以下命令查看IP地址(192.168.57.145)和网关地址(192.168.57.2):
ipconfig

点击左上角的放大镜图标scan for host,扫描局域网存活主机。再点击旁边的hosts list,可看到扫描得到的主机,包括靶机Win 7(192.168.57.145)和网关(192.168.57.2)。

选中指定条目,将靶机192.168.57.145加入target1,网关192.168.57.2加入target2(顺序可调换)。

点击地球图标MITM menu,选择ARP Poisoning,勾选Sniff remote connections并确认(选择中间人模式双向连接,可窃听目标主机与互联网的通信)。点击三竖点图标Ettercap menu,选择Plugins→Manage plugins→dns_spoof,双击dns_spoof。此插件会根据etter.dns文件中的配置规则篡改DNS解析,选择成功后即可启动DNS欺骗。

4.2.2 验证欺骗效果
在ettercap下方的窗口中出现Activating dns_spoof plugin…,说明DNS欺骗成功启动。

在Win7靶机上ping天翼快递的域名,发现得到的IP是kali的IP,验证欺骗生效。

4.3 结合SET与Ettercap技术的DNS欺骗钓鱼攻击
4.3.1 搭建冒名网站并进行DNS欺骗
为了能够使用DNS欺骗引导用户访问冒名网站,需要结合SET与Ettercap,因此需要我们重复4.1与4.2步骤:
- 使用SET搭建冒名网站,确保其在80端口运行;
- 编辑etter.dns配置文件,将地址改为www.test20232325.net和*.test20232325.net(与正确域名区分);
- 重复4.2的其他步骤,先进行ARP毒化,再启动DNS欺骗。

4.3.2 验证欺骗效果
-
使用Win7靶机ping冒名网站的域名,可ping通且IP地址为kali的IP地址;

-
在Win7靶机浏览器中访问www.test20232325.net,能成功访问SET伪造的冒名网站(与原网站高度相似),在其中输入邮件地址和口令;

-
在kali的SET日志中,可看到主机(192.168.57.145)的访问记录,并能捕获到靶机输入的明文邮箱信息与口令。

4.4 具体防范方法
(1)普通用户:
- 上网时优先选择显示 “HTTPS” 标识的网站,该加密协议能验证服务器合法性,减少被钓鱼网站误导的可能;
- 访问金融、支付等关键平台时,手动输入官方域名而非点击他人分享的链接,仔细核对域名后缀、拼写是否与官方一致;
- 拒绝打开陌生邮件附件、不明来源的文件,关闭浏览器不必要的自动跳转功能,定期更新浏览器及操作系统版本。
(2)专业人员
在工作设备上部署 ARP 防护工具,拦截伪造的 ARP 响应包,同时启用 DNSSEC 域名系统安全扩展,确保域名解析过程不被篡改。
(3)管理员
- 优化网络拓扑设计,通过划分 VLAN 隔离不同业务区域,缩小 ARP 广播域的影响范围,降低全局劫持风险;
- 配置交换机端口的 MAC 地址绑定策略,限制单端口可接入的设备数量,防止非法设备伪造 MAC 地址接入网络。
5. 问题及解决
问题一
在4.3结合SET与Ettercap技术时,使用SET布置虚假网站时“凭证收集器攻击”启动失败,80 端口被占用。

解决一
当前 80 端口(HTTP 默认端口)已被 Apache、NGINX 等 Web 服务程序占用,导致 SET 的 web_server 无法绑定到 80 端口,因此攻击无法正常启动。在输入相关指令依旧不可行后重启kali linux,重新部署后可正常运行。
6. 心得体会
本次实验内容为网络欺诈与防范,在本次实验中我学习了SET、Ettercap两个工具的使用,并尝试进行ARP欺骗与DNS欺骗,再将两个工具结合实施更近一步的钓鱼攻击。
本次实验耗时相对较短,没有碰到难于解决的问题,SET、Ettercap两个工具都非常强大且好用,唯一碰到的问题是80端口被占用,通过重启Kali就能顺利解决。同时,这种顺利也让我体会到了想要实施钓鱼攻击的简易以及攻击效果的强大,仅仅输入几行代码就可以构建一个普通人难以分辨的虚假网站,骗取用户的密码、邮箱等敏感信息。这也提醒我对日常访问的各种网站提高警惕,谨慎访问未知网站,保护自己的个人信息。
总之,我体会到了网络欺骗技术的强大,也认识到了互联网中危险随处可见,在日后的学习中我要更加努力学习网络攻防技术,同时警惕网络欺骗技术。