20232327 2025-2026-1 《网络与系统攻防技术》实验七实验报告

20232327 2025-2026-1 《网络与系统攻防技术》实验七实验报告

1.实验内容

1.1 实践内容

(1)简单应用SET工具建立冒名网站

(2)ettercap DNS spoof

(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。

1.2 本周学习内容

  • SET 工具(Social-Engineer Toolkit):一款开源社会工程学渗透测试工具,内置网站克隆、钓鱼页面生成等功能,可快速复制目标网站界面(如登录页、信息填写页),用于模拟冒名网站场景。
  • 冒名网站:又称 “钓鱼网站”,通过复制真实网站的界面设计、URL 伪装等方式,误导用户输入账号密码、个人信息等敏感数据的虚假网站。
  • ettercap:一款开源的网络嗅探与中间人攻击工具,支持局域网内流量捕获、ARP 欺骗、DNS 欺骗等功能,常用于网络安全测试中的漏洞验证。
  • 流量引导:通过 DNS 欺骗技术,将特定用户(如局域网内目标设备)对合法域名的访问,强制跳转至攻击者用 SET 工具搭建的冒名网站。
  • 协同攻击逻辑:SET 工具负责构建 “高仿” 冒名网站(降低用户警惕性),ettercap DNS spoof 负责 “劫持” 流量(让用户主动访问冒名网站),两者结合提升攻击成功率。

2.实验过程

Kali攻击机ip地址:192.168.64.148

(1)简单应用SET工具建立冒名网站

在控制台输入 sudo setoolkit启动SET工具(必须以管理员身份运行)
初次使用是,需输入 y 并回车,同意用户协议;

PixPin_2025-11-24_08-55-34

启动界面菜单选项:
1 Social-Engineering Attacks:用于实施社交工程攻击,例如钓鱼网站和恶意USB攻击。
2 Penetration Testing (Fast-Track):快速执行一系列渗透测试任务的模块集合。
3 Third Party Modules:支持加载第三方工具或定制功能模块。
4 Update the Social-Engineer Toolkit:更新SET工具至最新版本以获取最新功能和修复。
5 Update SET configuration:修改SET配置文件以调整工具参数或行为。
6 Help, Credits, and About:查看工具的帮助信息、开发者名单及简介。

选择1用于社交攻击;
进入Social-Engineering Attacks 菜单界面后,有如下选项
PixPin_2025-11-24_08-57-43

Social-Engineering Attacks 菜单界面选项
1 Spear-Phishing Attack Vectors:用于生成针对特定目标的钓鱼邮件攻击。
2 Website Attack Vectors:用于创建伪造网站以捕获用户凭据或执行恶意操作。
3 Infectious Media Generator:生成携带恶意代码的可移动设备(如U盘)。
4 Create a Payload and Listener:创建恶意负载并监听目标系统的连接。
5 Mass Mailer Attack:发送大量伪装的电子邮件以进行社会工程攻击。
6 Arduino-Based Attack Vector:利用Arduino设备模拟键盘输入执行攻击。
7 Wireless Access Point Attack Vector:设置恶意Wi-Fi热点进行数据窃取或流量劫持。
8 QRCode Generator Attack Vector:生成带有恶意链接的二维码以诱导目标扫描。
9 Powershell Attack Vectors:通过PowerShell脚本执行各种类型的攻击。
10 Third Party Modules:加载第三方开发的模块以扩展SET功能。

这里我们选择2 Website Attack Vectors,用于创建伪造网站,模拟钓鱼攻击并捕获用户输入的凭据。
image

Website Attack Vectors 菜单界面
1 Java Applet Attack Method:通过伪装的Java证书运行恶意负载,用于攻击启用了Java的系统。
2 Metasploit Browser Exploit Method:使用Metasploit框架中的浏览器漏洞注入恶意代码。
3 Credential Harvester Attack Method:克隆目标网站,用于捕获用户输入的用户名和密码。
4 Tabnabbing Attack Method:通过伪装切换标签页,诱导用户输入敏感信息。
5 Web Jacking Attack Method:使用iframe替换链接,伪造URL重定向到恶意页面。
6 Multi-Attack Web Method:结合多种Web攻击方法同时进行攻击(如Java、Metasploit和Credential Harvester)。
7 HTA Attack Method:克隆网站并通过HTA文件执行PowerShell注入,用于Windows系统的攻击。

本次实验中做的是克隆网站实现欺骗,所以这里选择3)Credential Harvester Attack Method来克隆目标网站,模拟钓鱼攻击以捕获用户输入的登录凭据。
PixPin_2025-11-24_09-08-34

Credential Harvester Attack Method菜单选项
1 Web Templates:使用预定义的网站模板进行攻击,不需要克隆实际网站。
2 Site Cloner:克隆目标真实网站的页面,用于模拟钓鱼攻击,捕获用户凭据。
3 Custom Import:导入自定义HTML文件作为伪造网站,适合用户需要特定样式或内容时使用。

从以上的选项中,选择2) Site Cloner克隆目标真实网站的页面
在这里我们需要填写伪造网站的监听地址(这里填入本机的ip地址:192.168.64.148);
输入需要克隆的目标网站URL,这里选用在之前信息安全概论中使用过的明文传输用户名和密码的网站(https://www.tykd.com/User/login/); 回车克隆该网站;
PixPin_2025-11-24_09-18-09

完成克隆后,在主机(win11)中访问仿冒的网站:http://192.168.64.148/

image

此时在仿冒的网站中输入用户名和密码后,仿冒网站会感觉被“卡住”了,重新刷新后又回到了登录界面;但是真的是被卡住了吗?在kali的SET攻击界面查看发现,此时已经捕获到了我输入的邮件地址和登录密码;

[*] Information will be displayed to you as it arrives below:                             
192.168.64.1 - - [23/Nov/2025 20:19:28] "GET / HTTP/1.1" 200 -
192.168.64.1 - - [23/Nov/2025 20:19:29] "GET /favicon.ico HTTP/1.1" 404 -
[*] WE GOT A HIT! Printing the output:
POSSIBLE USERNAME FIELD FOUND: methods=user_login                                         
POSSIBLE USERNAME FIELD FOUND: email=20232327@besti.mail.edu.cn                           
POSSIBLE PASSWORD FIELD FOUND: pwd=20232327ywx                                            
[*] WHEN YOU'RE FINISHED, HIT CONTROL-C TO GENERATE A REPORT.   

PixPin_2025-11-24_09-24-43

(2)ettercap DNS spoof

Ettercap是一款强大的中间人攻击工具,支持ARP欺骗、DNS欺骗等多种攻击方式。
在本任务中,要实现的目标是使用Ettercap实现DNS欺骗,将目标主机访问的指定网站(www.baidu.com) 重定向到我的kali虚拟机的ip;

2.2.1修改网卡监听模式为混杂模式

为了进行网络嗅探和欺骗攻击,需要将kali虚拟机中的网卡监听模式设置为混杂模式(PROMISC)才能监听到整个网络中的流量;
ifconfig eth0 promisc
ifcpnfog查看,可以看到flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>PROMISC字段,混杂模式已启用。;
PixPin_2025-11-24_09-32-15

2.2.2 修改DNS缓存表

Ettercap使用etter.dns文件来存储DNS欺骗规则。需要将目标域名(www.baidu.com) 的解析结果指向攻击机的IP地址(192.168.64.148)。
sudo vim /etc/ettercap/etter.dns
PixPin_2025-11-24_09-45-48
在文件末尾添加以下规则(需要键入i进入INSERT模式),将目标域名(www.baidu.com) 解析到攻击机的IP地址:

www.baidu.com    A    192.168.222.130
*.baidu.com      A    192.168.222.130

完成后,保存退出;

2.2.3 实施DNS欺骗

在终端输入sudo ettercap -G启动Ettercap图形界面;
在当前界面上使用默认配置:
Sniffing at startup:开启嗅探。
Primary Interface:选择当前实验使用的网络接口(eth0)
PixPin_2025-11-25_08-00-31

点击右上角的“√”,开始嗅探;
点击左上角的“🔍”图标,扫描子网中的所有主机。
PixPin_2025-11-25_08-29-06

此处可以看到当前网段中存活的主机;
接下来我们来寻找一下网关的地址和目标主机的ip地址;
在终端中输入route -n来查看网关地址;
PixPin_2025-11-25_08-16-52
目标主机就是本机的ip(对本机进行欺骗);
既然知道了要攻击的ip和网关地址,就在ettercap中进行攻击配置;
看到网关地址192.168.64.2,点击将其“Add to Target 1”;
看到靶机地址192.168.64.128,点击将其“Add to Target 2”;
PixPin_2025-11-25_08-29-53
为了劫持目标主机的数据流量,需通过ARP欺骗让目标主机误认为攻击者是网关。
导航到 Mitm > ARP Poisoning,勾选 Sniff remote connections 并点击 OK,确保攻击机可拦截目标主机的网络通信。
PixPin_2025-11-25_08-30-58
点击右上角三个竖点图标(Ettercap菜单),导航到 Plugins > Manage plugins,找到并双击启用 dns_spoof 插件,此插件会根据 etter.dns 文件中的配置规则篡改 DNS 解析。
PixPin_2025-11-25_08-32-12
完成所有的配置后,在靶机端ping www.baidu.com, 可以发现域名被解析到了192.168.64.148(即我的kali的虚拟机地址),欺骗成功;
PixPin_2025-11-25_08-53-02

在Ettercap日志显示DNS欺骗成功;

PixPin_2025-11-25_09-10-12

(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。

在任务一的基础上,保持SET工具的开启,
将目标域名(www.tykds.com) 的解析结果指向攻击机的IP地址(192.168.64.148)。
sudo vim /etc/ettercap/etter.dns
在配置文件中添加如下规则;
PixPin_2025-11-25_09-37-18

完成配置后,在靶机中进行ping域名,发现被解析到了kali攻击机的地址;

PixPin_2025-11-25_09-44-17

在靶机的浏览器中输入域名,可以看到SET开启的钓鱼网址网站

PixPin_2025-11-25_09-36-13

输入邮箱和密码后,在SET日志中可以看到被捕获到了;

PixPin_2025-11-25_09-36-54

3.问题及解决方案

  • 问题1:在进行任务2实施DNS欺骗的时候,在修改DNS配置文件时候,错误设置了域名解析地址,导致在ettercap配置完成后,在靶机中ping域名时候,无法ping通;在发现配置错误后,重新修改但是在靶机中还是无法ping通;
  • 问题1解决方案:因为在靶机中有dns缓存,所以即使修改了相应配置,还是无法正常解析到攻击机地址,所以应该重新清空dns缓存或者重启电脑解决域名解析的问题;
  • 问题2:在任务3中,我在DNS配置文件中,设置将域名tykdd.com解析到192.168.64.148,完成配置后,在靶机中ping这个域名,解析到kali中,是我想要预期的效果,但是当我在浏览器中进行访问的时候,发现总是显示连接失败,无法正常打开我攻击机运行的钓鱼网站;
  • 问题2解决与分析:tykdd.com是一个真实存在的域名,且是有HTTPS保护的,因为DNS 欺骗只篡改了 “域名→IP” 的解析,但浏览器访问时的「协议(HTTP/HTTPS)」和「安全验证(SSL 证书)」没有被篡改,导致解析成功但连接失败。
    ping tykdd.com 成功:因为 ping 只验证 DNS 解析(不管协议和服务),只要 DNS 被篡改,就会返回攻击机 IP;
    浏览器访问失败:浏览器默认会用「HTTPS 协议」访问真实域名(因为真实域名的 DNS 记录中会有 HTTPS 的配置,或浏览器缓存了该域名的 HTTPS 偏好),但你的攻击机只提供 HTTP 服务,没有对应的 SSL 证书:
    PixPin_2025-11-25_09-45-35
    这里思考两种解决解决方法:
    方法一:强制浏览器用 HTTP 访问
    清除目标主机(Win11)的 DNS 缓存和浏览器缓存,cmd 中执行:ipconfig /flushdns(清除 DNS 缓存);
    浏览器中清除 “历史记录→缓存和 Cookie”,并关闭 “HTTPS 强制模式”(Chrome:设置→隐私和安全→安全→关闭 “使用 HTTPS”)。
    访问时手动指定 HTTP 协议:在浏览器地址栏输入 http://tykd.com (而非直接输入tykd.com),强制浏览器走 HTTP,绕开 HTTPS 跳转。
    PixPin_2025-11-25_09-59-13

PixPin_2025-11-25_09-59-31
可以看到成功访问到tykdd.com钓鱼网站;
方法二:给 SET 钓鱼网站配置 HTTPS
SET 工具支持搭建 HTTPS 钓鱼网站,需要生成自签名 SSL 证书:
在 Kali 中生成自签名证书(需要 openssl)
openssl req -x509 -newkey rsa:4096 -keyout /root/tykd.key -out /root/tykd.crt -days 365 -nodes
按提示输入信息(域名处填tykd.com,其他可随意)
重新启动 SET 工具,搭建钓鱼网站时选择「HTTPS 模式」:
启动 SET:sudo setoolkit→1→2→3(Credential Harvester)→2(Site Cloner);
此时 SET 会提示 “是否使用 HTTPS?”,输入y,然后指定刚才生成的证书路径(/root/tykd.key)和证书文件(/root/tykd.crt);
后续步骤不变(监听 IP=192.168.64.148,克隆 URL=https://www.tykd.com/User/login/)。
访问时:浏览器会提示 “证书不安全”(自签名证书),点击 “高级→继续访问”,即可进入钓鱼网站。

4.学习感悟、思考等

  • 在本次实验中,通过使用SET工具克隆网站,再通过ettercap实现了DNS欺骗重定向,我深刻意识到钓鱼网站的危害性,网络欺骗的容易,一定要提高警惕;
  • 在平时使用浏览器访问网页时,要注意访问的域名是否正确,是否和正确的域名有区别,一定要开启浏览器保护,尽量使用ssl保护的浏览器访问服务;;
  • 在本次实验中,初步掌握了SET工具和ettercap工具的使用,也遇到了不少的问题,在接下来的学习中,我将继续深入学习相关理论原理,提升自己的综合实践能力,不断提高自己解决问题的能力。

参考资料

posted @ 2025-11-25 10:16  Amir_1900  阅读(2)  评论(0)    收藏  举报