20232307 2025-2026-1 《网络与系统攻防技术》实验七实验报告
1.实验内容及要求
本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有
(1)简单应用SET工具建立冒名网站
(2)ettercap DNS spoof
(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。
2.实验过程
2.1 简单应用SET工具建立冒名网站
SET(Social-Engineer Toolkit)工具是渗透测试中基于Python,用于模拟社会工程学攻击的专用工具,核心用于测试目标系统或人员的安全意识,如钓鱼攻击、密码获取,而非直接破解技术漏洞。
2.1.1 启动SET工具并选择克隆网站模块
在kali虚拟机中使用如下命令启动SET工具:
sudo setoolkit
第一次使用的话需要下载,下载完成后出现一个菜单和“set >”的提示符,如下图所示:

功能模块:
(1) 社会工程学攻击模块:用于开展钓鱼、信息骗取等社会工程学攻击测试。
(2) 快速渗透测试模块:提供快速的渗透测试路径。
(3) 第三方模块:可集成第三方工具扩展功能。
(4) 工具更新模块:用于更新工具本身和配置。
(5) 帮助与关于模块:提供工具的帮助信息、开发人员 credits 及工具介绍。
我们选择1:社会攻击学模块,之后出现如下图所示的菜单:

(1) 鱼叉式网络钓鱼攻击向量:针对特定目标发送伪装邮件。
(2) 网站攻击向量:构建仿冒网站,诱骗用户输入账号密码等敏感信息。
(3) 感染性介质生成器:生成带恶意程序的U盘、光盘等介质。
(4) 创建有效载荷和监听器:生成恶意代码(有效载荷),并设置监听器等待目标设备运行恶意代码后建立连接,进行控制。
(5) 大规模邮件攻击:批量发送钓鱼邮件,扩大攻击范围,提高命中概率。
(6) 基于Arduino的攻击向量:利用Arduino硬件设备构建攻击工具。
(7) 无线接入点攻击向量:伪造恶意无线热点,实施中间人攻击、信息窃取等。
(8) 二维码生成器攻击向量:生成带恶意链接的二维码。
(9) PowerShell攻击向量:利用PowerShell脚本执行恶意操作。
(10) 第三方模块:集成第三方工具或脚本,扩展SET的攻击功能。
(99) 返回主菜单:退出当前子菜单,回到SET主界面。
此处我们选择2)构建仿冒网站
之后出现如下选择项:

(1) Java程序攻击方法:利用Java Applet的漏洞,执行恶意代码。
(2) Metasploit 浏览器漏洞利用方法:结合Metasploit框架,针对浏览器的各类漏洞构建恶意网页。
(3) 凭证收集攻击方法:创建仿冒的登录页面,诱骗用户输入账号密码,从而收集敏感凭证。
(4) 标签切换攻击方法:在网页中通过标签切换的交互设计,诱导用户在不经意间点击恶意链接或输入敏感信息。
(5) 网页劫持攻击方法:篡改或劫持目标网页,将用户引导至恶意页面,或在原网页中植入恶意内容,实现攻击。
(6) 多攻击网页方法:整合多种网页攻击手段于同一恶意网页,提高攻击成功率。
(7) HTA攻击方法:利用HTML应用程序的特性,创建带恶意脚本的HTA文件,诱导用户运行后执行恶意操作。
(99) 返回主菜单:退出当前子菜单,回到 SET 主界面
此处我们选择3)创建仿冒的登录页面,诱骗用户输入账号密码,从而收集敏感凭证。
出现如下选项:

(1) Web Templates:SET导入预定义的网页应用列表,可直接用于攻击场景。
(2) Site Cloner:完全克隆选择的目标网站,克隆后可在攻击中使用与原网站完全一致的网页应用,以此高度仿真诱骗目标。
(3) Custom Import:允许导入你自己的网站。
(99) Return to Webaattack Menu:退出当前子菜单,回到网页攻击模块的主界面。
此处选择2)来进行克隆网站。
2.1.2 开始克隆网站
克隆网站选择天翼快递
网址:https://www.tykd.com/User/login/
设置虚拟机的IP作为接收凭证回传的IP地址,用于捕获目标输入的账号密码等信息。
192.168.190.137
输入要克隆的目标网站URL:
https://www.tykd.com/User/login/
结果如下图所示:

由上图可以看出,社会工程学工具包的凭证收集攻击已启动,运行在80端口,当有目标输入凭证并提交时,信息会在此界面实时显示。
访问伪造的网站:
http://192.168.190.137
伪造的网站界面:

与正常的天翼快递的网站界面一模一样.
然后我们在伪造的网站界面填写登录邮箱和密码
即可在终端查看到我在这个网站输入的个人信息:

系统提示 “WE GOT A HIT! Printing the output:”,表明成功捕获到用户输入的凭证。
捕获到的可能用户的邮箱2260457885@qq.com和密码my123456。
2.2 ettercap DNS spoof
Ettercap是一款经典的局域网中间人攻击工具,而DNS Spoof是其核心攻击功能之一,本质是通过篡改DNS解析结果,将目标设备的域名请求导向攻击者指定的IP地址,实现流量劫持、钓鱼诈骗或恶意代码植入等目的。
2.2.1 前期准备
使用如下命令把kali虚拟机的网卡eth0设置为混杂模式:
ifconfig eth0 promisc
混杂模式下,网卡会接收所有经过它的数据包。
再使用如下命令查看网卡 eth0 的详细状态。
ifconfig eth0

可以看到网卡已经被设置为混杂模式。
接下来使用下面的命令修改DNS缓存表
vim /etc/ettercap/etter.dns
在文件中添加如此记录:
www.tykd.com A 192.168.190.137
*.tykd.com A 192.168.190.137
www.tykd.com是目标域名,记录类型为 “A 记录”--Address Record,地址记录,作用是将域名映射到IPv4地址;192.168.190.137是目标IPv4地址,即域名解析后指向的 IP,此处是攻击机IP地址。

2.2.2 启动Ettercap实施DNS欺骗
使用如下命令查看网关:
route -n

由上图所示,网关为192.168.190.2
使用如下命令启动Ettercap
ettercap -G
选择sniffing at start up开启嗅探,并选择eth0为网络接口,点击右上角的√

点击左上角的scan for hosts,开始扫描,然后点击Hosts Lists查看网段内的主机

由上图所示,扫描到了网关192.168.190.2和靶机192.168.190.150
接下来将靶机加入TARGET1,将网关加入TARGET2

然后点击右上角的MITM menu,点击ARP Poisoning,选择Sniff remote connections并确认。

接着在右上角的EtterCap Menu中选择Pligins-->Manage plugins,最后选择dns_spoof,双击启动DNS欺骗.

最后在靶机中ping www.tykd.com,如下图所示:

由上图可见,DNS欺骗已经实现,返回的IP地址是攻击机的IP.

查看Ettercap的日志,显示已成功将域名www.tykd.com的A记录欺骗到192.168.190.137,且该欺骗记录的生存时间为3600秒.
2.3 结合应用两种技术,用DNS spoof引导特定访问到冒名网站
2.3.1 攻击机操作准备
这一步骤中我使用的靶机与前文不同,因为我有2台kali虚拟机,所以我攻击机不变,靶机换为了另外一台kali虚拟机。
攻击机IP地址如下图所示,IP:192.168.190.137

靶机IP如下图所示,Ip:192.168.190.155

重复前文的2.1步骤,应用SET工具建立冒名网站,步骤和选择模块与前文一致,如下图所示:

然后基本重复前文的2.2步骤,使用Ettercap进行DNS欺骗
使用如下命令编辑定义虚假DNS记录的etter.dns文件,此处更换了域名,是将www.tykdmy.com这个域名解析到攻击机。
vi /etc/ettercap/etter.dns
添加记录如下图所示:

打开Ettercap,扫描同网段内存活的主机,如下图所示,可以扫描到网关192.168.190.2和靶机IP192.168.190.155

然后将靶机加入target1,网关加入target2

之后启动ARP Poisoning,选择Sniff remote connections并确认;点击Ettercap menu,选择Plugins-->Manage plugins-->dns_spoof

2.3.2 靶机操作并验证
在靶机内运行命令
ping www.tykdmy.com
结果如下图所示:

可以看到连接的IP是192.168.190.137,是攻击机的IP地址
接着打开浏览器访问www.tykdmy.com网站,结果如下图所示:

可以看到这个界面与天翼快递官方网站一样。
然后我们在这个界面输入邮箱地址和登录密码进行登陆操作,如下图所示:

然后返回到主机的set,可以看到结果如下图所示:

从上图中可以看到,主机已经获取到了靶机输入的邮箱地址和登录密码的信息,DNS spoof引导特定访问到冒名网站并获取信息,实验成功。
2.4 具体防范方法
(1)防范SET工具搭建的冒名网站
①核对网站标识:优先通过官方APP或手动输入域名访问网站,拒绝点击不明链接。
②观察页面细节:冒名网站常存在图片模糊、文字错漏、排版混乱等问题,且点击部分按钮可能无响应,发现此类异常需警惕。
③借助安全工具:安装带反钓鱼功能的浏览器插件和杀毒软件,定期更新病毒库,其可自动识别并拦截多数克隆的钓鱼站点。
(2)防范ettercap DNS spoof欺骗
①绑定静态DNS记录:在设备的hosts文件中手动添加常用网站的域名与对应IP,减少对外部DNS解析的依赖,避免被篡改解析结果。
②使用可信DNS服务器:优先选择运营商官方DNS或公共安全DNS,避免使用不明来源的DNS服务器。
③开启ARP防护:在路由器或终端设备中启用ARP绑定功能,将网关IP与MAC地址绑定,防止设备被伪造的ARP信息误导。
(3)应对两种技术结合攻击的综合防护
①企业层面:部署网络入侵检测系统和入侵防御系统,监控局域网内异常的ARP请求和 DNS解析流量,定期对员工开展网络安全培训,讲解钓鱼攻击的常见手段。
②个人层面:不轻易在非官方确认的网站输入身份证号、银行卡密码等敏感信息。
③网络层面:家庭或小型局域网可配置防火墙,减少流量被拦截篡改的风险。
3.问题及解决方案
- 问题1:在通过命令ettercap -G打开Ettercap工具的图形化界面时出现如下问题,无法打开图形化界面。

- 问题1解决方案:我猜测打开这个歌页面应该是需要root用户的权限的,但是一直打不开,后来我尝试用普通用户,使用
sudo ettercap -G打开,输入root用户密码后打开成功了。

4.学习感悟、思考等
本次实验整体还是比较顺利的,通过SET工具搭建冒名网站,利用ettercap实施DNS欺骗,最后结合这两种技术,成功将特定流量引导至冒名网站,获取了靶机用户信息。实验最后一步的两种工具的结合让我收获颇丰,也见识到了制作一个假冒的网站并非需要复杂的技术,只需借助工具,就能快速克隆正规网站的界面、模拟交互逻辑,这种低门槛高危害的特性,让我直观感受到网络攻击的隐蔽性与危险性。
这个实验也让我意识到,在日常生活中要防范DNS欺骗与钓鱼网站攻击,遇到不明链接不随意点击,若域名存在细微拼写偏差或无安全标识,绝不在该网站输入账号、密码等敏感信息;此外,可给设备安装带反钓鱼功能的安全软件,配置可信DNS服务器,尽量不给欺诈攻击可乘之机。
参考资料
- 渗透测试 (9) --- 社会工程攻击工具 setoolkit