20232417 2025-2026-1 《网络与系统攻防技术》实验七实验报告
1.实验内容
1.1实验目的
本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有
(1)简单应用SET工具建立冒名网站
(2)ettercap DNS spoof
(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。
1.2学习内容
(1)学习SET工具的使用,并且成功搭建冒名网站。
(2)学习ettercap工具的使用,理解ARP污染、DNS欺骗攻击的原理,并且成功实现DNS欺骗攻击。
(3)进一步了解有效防范措施。
2.实验过程
2.1简单应用SET工具建立冒名网站
2.1.1使用SET工具建立冒名网站
在kali虚拟机输入sudo setoolkit命令打开SET工具。
SET工具,全称Social-Engineer Toolkit(社会工程学工具集),是一个专为模拟社会工程学攻击而设计的开源渗透测试框架。它的核心理念是利用人的信任、好奇心和习惯性疏忽,而非纯粹的技术漏洞,来达成渗透目标。

在第一个菜单我们选择第一个选项,用于进行社会工程学攻击。
- (1)Social-Engineering Attacks(社会工程学攻击)这是SET最核心、最常用的模块,包含了各种针对“人”的攻击向量。
- (2)Penetration Testing (Fast-Track)(渗透测试-快速通道)这是一个自动化的渗透测试流程,集成了Metasploit框架。
- (3)Third Party Modules(第三方模块)这是SET的扩展功能区,包含由社区开发的其他工具和模块。
- (4)Update the Social-Engineer Toolkit(更新SET工具)用于检查并安装SET的最新版本。
- (5)Update SET Configuration(更新SET配置)用于配置SET的各种运行参数和选项。
- (6)Help, Credits, and About(帮助、致谢和关于)提供工具的相关信息和帮助文档。

在第二个菜单我们选择第二个选项,即网站攻击向量,作用已经在下面介绍
- (1)Spear-Phishing Attack Vectors鱼叉式钓鱼攻击向量
通过伪造发件人发送带有恶意附件或链接的定向钓鱼邮件,以控制目标机器或窃取凭证。- (2)Website Attack Vectors网站攻击向量
克隆一个可信网站(如登录页面)并利用浏览器漏洞,诱骗受害者输入凭证或执行恶意代码。- (3)Infectious Media Generator传染性媒体生成器
创建包含自动运行恶意程序的U盘或光盘/DVD镜像,在物理接入目标时自动感染系统。- (4)Create a Payload and Listener创建Payload和监听器
快速生成一个恶意程序(Payload)并启动一个对应的监听器,等待目标执行后建立远程控制连接。- (5)Mass Mailer Attack群发邮件攻击
向大量邮件地址发送钓鱼邮件(不包含特定恶意负载),主要用于大规模的信息收集或欺诈宣传。- (6)Arduino-Based Attack Vector基于Arduino的攻击向量
将Arduino开发板(如Teensy)伪装成USB键盘,在接入电脑后模拟按键操作来执行恶意命令。- (7)Wireless Access Point Attack Vector无线接入点攻击向量
创建一个伪造的无线网络(邪恶双子),诱骗用户连接以劫持其网络流量并捕获敏感信息。- (8)QRCode Generator Attack Vector 二维码生成攻击向量
生成一个包含恶意链接的二维码,诱骗用户扫描后跳转到钓鱼网站或自动下载恶意软件。- (9)Powershell Attack VectorsPowershell攻击向量
利用Windows系统内置的PowerShell脚本功能,生成难以被检测的无文件攻击或远程执行载荷。- (10)Third Party Modules第三方模块
集成和使用由社区开发的额外攻击模块,以扩展SET工具的核心功能

在第三个菜单我们选择第三个选项,这个选项通过收集凭证来攻击
- (1)Java Applet Attack MethodJava小程序攻击方法
伪造一个“数字证书过期”的Java小程序弹窗,诱骗用户点击“运行”来执行恶意载荷。- (2)Metasploit Browser Exploit MethodMetasploit浏览器漏洞利用方法
自动检测目标浏览器的类型和版本,并利用相应的客户端漏洞(如IE、Firefox的漏洞)进行攻击。- (3)Credential Harvester Attack Method凭证收割机攻击方法
克隆一个真实的网站(如Gmail、公司登录页),当受害者在此克隆页面上输入用户名和密码时,这些凭证会被窃取。- (4)Tabnabbing Attack Method 标签页劫持攻击方法
创建一个后台标签页,在用户离开一段时间后,将其页面内容伪装成常见的登录页面(如Gmail),诱骗其输入凭证。- (5)Web Jacking Attack Method网页劫持攻击方法
使用一段隐蔽的帧内代码(iframe)覆盖在原始链接之上,当用户点击链接时,实际上被带到了攻击者控制的恶意页面。- (6)Multi-Attack Web Method多重攻击Web方法
将多种攻击方法(如Java Applet攻击、凭证收割、Metasploit漏洞利用)组合到一个网站中,依次尝试以提高成功率。- (7)HTA Attack Method HTA攻击方法
生成一个恶意的HTML应用程序文件,当用户通过浏览器访问时,会诱导他们执行该文件,从而在系统上安装恶意载荷。

在第四个菜单我们选择第二个选项,用于网站克隆
- (1)Web Templates网站模板
使用SET工具内置的、预先设计好的钓鱼网站模板(如Google、Facebook、Twitter的登录页面)来快速搭建一个凭证收割页面。- (2)Site Cloner网站克隆器
通过输入一个真实网站的URL(如公司OA系统、邮箱登录页),自动在本地克隆一个一模一样的页面,用于窃取受害者的输入凭证。这是最常用和最有效的方法。- (3)Custom Import 自定义导入
允许您将自己已经设计或修改好的整套网站源代码(HTML、PHP等)导入到SET中,以创建高度定制化的钓鱼页面。

在接下来的攻击者机器的IP地址处输入Kali虚拟机的IP:192.168.3.47,下一处输入的地方是想要的一个你需要克隆的真实网站网址,这里我们选择天翼快递的网站https://www.tykd.com/User/login/

2.1.2验证欺骗的效果
在攻击者机器,即Kali虚拟机上面输入IP地址(192.168.3.47),可以看到显示的是天翼快递网站的高仿网站,我们就可以使用这个盗版网站监听用户输入的一些信息。

我们在这个盗版网站上面输入邮箱和密码,可以看到输入的信息已经被监听到,并且明文显示在攻击者的命令行中。

2.2使用Ettercap进行DNS欺骗
2.2.1DNS欺骗
在Kali虚拟机输入命令ifconfig eth0 promisc将网卡改成混杂模式,从而可以接收任意数据包。注意,这个地方需要是root用户。
ettercap DNS spoof是一种非常经典的中间人攻击技术,用于劫持受害者的DNS查询,将其引导至攻击者控制的恶意网站。

在Kali虚拟机输入vi /etc/ettercap/etter.dns命令,这个命令的作用是为DNS欺骗攻击编写“剧本”,我们在这个文件里定义了“当受害者想访问哪个正经网站时,就把他骗到哪个恶意IP地址上去”。

在文件中编辑两条记录:
www.baidu.com A 192.168.3.47 #专门针对百度的主站域名 www.baidu.com
.baidu.com A 192.168.3.47 #针对百度旗下的所有子域名。是一个通配符,代表任何前缀。

在Kali虚拟机输入route -n命令查看网关地址,可以看到网关IP地址为192.167.3.1。

输入ettercap -G命令启动Ettercap图形用户界面。

将sniffing at startup开启,并且网卡选择eth0,点击右上角的符号√进入。然后点击左上角的放大镜符号扫描局域存活主机,扫描完成后,点击放大镜旁边的Host List,可以看到存活的主机中有网关和WinXP虚拟机的IP地址。

选中指定IP,再右键点击,将靶机WinXP加入target1,将网关加入target2。

点击右上角的地球图标,点击ARP poisoning,再点击ok。(点击OK之前确认勾选的是Sniff remote connections)

点击最右上角的选项,打开ettercap menu,然后选择manage Plugins,选中dns_spoof后双击开启。

2.2.2验证DNS欺骗效果
在Win XP中输入命令ping www.baidu.com,发现ping通后,这一域名对应的是kali虚拟机的IP地址(192.168.3.47),说明DNS欺骗攻击成功。

2.3结合应用两种技术,用DNS spoof引导特定访问到冒名网站
2.3.1搭建冒名网站,并进行DNS欺骗
结合SET与ettercap根据引导用户访问冒名网站,重复2.1的相关步骤搭建一个冒名网站,重复2.2的相关步骤进行DNS欺骗。
在DNS欺骗中,可以将网址名称更改,以便区分。

2.3.2验证欺骗效果
在靶机中输入ping www.faketykd.com命令ping盗版网站,可以看到IP地址为攻击者机器的IP地址。

在靶机的浏览器中访问www.faketykd.com这个冒名网站,可以看到访问的为天翼快递的高仿网站。

在网站中输入邮箱和密码等,在攻击者机器的SET命令行中抓到信息如下:

2.4防范方法
(1)强化网络基础防御,遏制欺骗源头
网络管理员应在局域网核心层面建立坚固屏障。关键在于启用交换机的动态ARP检测与端口安全功能,自动验证ARP请求的合法性并阻断异常MAC地址通信,从根源上防止ARP欺骗。同时,需部署流量监控与入侵检测系统,实时分析网络活动,对ARP表异常波动、IP-MAC频繁变更等典型攻击迹象保持警觉,并实现自动告警或拦截。此外,为核心网络设备和服务器的IP-MAC映射关系配置静态ARP条目,能为关键节点提供一层不受欺骗干扰的固定保护。
(2)加固关键服务安全,保障通信真实
必须确保核心网络服务的完整性与可信性。首要任务是部署DNSSEC,为DNS查询响应提供数字签名,使客户端能够验证网站地址的真实性,有效防范DNS记录被篡改。同时,对所有Web服务强制实施HTTPS加密与HSTS策略,确保浏览器与服务器之间建立经过证书认证的加密连接。这样,即便用户被诱导至恶意网站,浏览器也会因证书不匹配而发出明确警告,阻止敏感信息在不可信通道上传输。
(3)提升终端与用户警觉,构筑最后防线
终端和用户是攻击的最终目标,也是防御的关键。一方面,要通过持续的安全意识培训与钓鱼演练,使用户养成“输入凭证前必核网址、寻找安全锁图标、不轻信陌生链接”的安全习惯,并能识别网站仿冒的细微差异。另一方面,应在所有终端设备上部署具备ARP防护功能的高级安全软件,主动检测和阻断本地的ARP欺骗攻击。对于远程或高风险环境下的用户,强制要求使用VPN接入,可以加密所有网络流量,使其免遭局域网内的窃听与劫持。
3.问题及解决方法
- 问题:在启动Ettercap图形用户界面的时候,出现GTK3 failed to initialize的报错。
- 解决方法:在Kali虚拟机输入
startx命令,startx本质上是一个Shell脚本,它是一个方便的“前端”命令,用于在尚未启动图形界面的系统上,手动启动一套完整的图形桌面会话。即我的系统安装了桌面环境但没启动,这个命令可以启动图形界面。
4.学习感悟、思考等
此次实验我们学习了如何使用SET工具和ettercap工具,首先,我们学习了如何使用SET这个工具搭建一个冒名网站,搭建冒名网站的整个过程简单快速,除此之外,我们还学习了如何使用ettercap进行ARP毒化和DNS欺骗。结合这两个工具,我们还可以引导用户访问我们搭建的冒名网站,从而实现用户的隐私信息收集。整个过程都较为简单,这让我们认识到网络欺诈的简便性,以及保护网络安全的重要性,于是我们进一步学习了如何去防范这些攻击行为。本次实验证明,即使不突破外部防火墙,攻击者也能利用ARP、DNS等内网基础协议的缺陷,轻易实施监听和钓鱼。内网环境并非绝对安全,必须建立与外部网络同等级别的防护措施。

浙公网安备 33010602011771号