20222412 2021-2022-2 《网络与系统攻防技术》实验七实验报告
20222412 2021-2022-2 《网络与系统攻防技术》实验七实验报告
1.实验内容
本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有
(1)简单应用SET工具建立冒名网站
SET工具是一款开源的社会工程学渗透测试工具,专门用于模拟各种社会工程学攻击场景。最初由David Kennedy创造并开源,目的是为了帮助安全专业人员更好地进行社会工程学攻击,并提高组织的安全意识。
SET包含了多种攻击模块,可以用于钓鱼攻击、恶意文档攻击、信任关系攻击等多种社会工程学攻击手段。它能够模拟多种攻击场景,如欺骗邮件、虚假网站、恶意文档等,帮助安全专业人员更好地进行社会工程学攻击,提高组织的安全意识。
(2)ettercap DNS spoof
Ettercap 是一个强大的ARP欺骗工具,常用于网络嗅探和中间人攻击。DNS欺骗(或称为DNS投毒)是一种通过篡改DNS记录来误导用户访问伪造网站的攻击方式。
(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站
2.实验过程
2.1 简单应用SET工具建立冒名网站
-
攻击机kali的IP:192.168.191.130
-
靶机win10的IP: 192.168.191.154
使用kali启动setoolkit工具,以此进入以下攻击模块
- Social-Engineering Attacks ——社会工程学攻击
- Website Attack Vectors ——网站攻击向量
- Credential Harvester Attack Method ——证书收割者攻击方法
- Site Cloner ——网站克隆
输入攻击机IP:192.168.191.130,并输入希望克隆的网站,以学习通官网为例(https://v8.chaoxing.com/)
可以尝试使用靶机访问建立的克隆网站,可以看到成功搭建好了克隆网站,和正常被克隆网站一样。而且在攻击机上可以看到访问的信息。
2.2 ettercap DNS spoof
修改攻击机网卡为混杂模式,用于接收所有传输到网络上的所有数据包,从而实现重定向,将其转发到我所希望的地方,从而实现DNS欺骗攻击。
ifconfig eth0 promisc
修改DNS缓存表,按照域名+A+攻击机ip
的格式进行设置,例如此处我希望欺骗的域名是
v8.chaoxing.com和www.baidu.com和www.csdn.net这三个网站。
vi /etc/ettercap/etter.dns //修改缓存表
//修改的内容
v8.chaoxing.com A 192.168.191.130
www.baidu.com A 192.168.191.130
www.csdn.net A 192.168.191.130
启动ettercap工具
ettercap -G //进入ettercap工具的可视化界面
设置ettercap配置,点击Host LIST,将网关IP(可以使用route -n
查询)设置为target1,靶机IP设置为target2。
配置完成后点击右上角的“MITM”,选择“ARP poisoning…”,然后后确定
再点右上角"Ettercap Menu"->plugins->Manage plugins,双击dns_spoof,启用DNS欺骗,可以看到成功实现欺骗。
在靶机上确认是否成功实施,执行简单的ping命令,尝试去ping各个域名,看IP是否被指定到我们所希望的IP。
可以看到,所有的域名的IP都被替换成了攻击机IP。
2.3 结合应用两种技术,用DNS spoof引导特定访问到冒名网站
结合上述两种技术,我我们就能搭建一个钓鱼网站,首先使用set工具克隆一个和真实网站一样的网页。然后使用ettercap进行DNS欺骗,让靶机再使用正常域名访问时,转到我们所希望的IP即攻击机上,从而实现攻击。
首先和2.1相同,我们使用https://gitee.com/login作为克隆的对象,搭建钓鱼网站。
和2.2相同,使用ettercap工具,进行DNS欺骗攻击。
使用靶机访问网站,这里可以随意访问加入DNS缓存表的网站,例如我选择的就是www.baidu.com,可以看到已经成功跳转到钓鱼网站,界面完全相同。
当我尝试登陆时,攻击机就能看到我输入的用户名以及密码。
同样,这里有一点特别需要注意,在访问网站时一定要使用http访问,如果选择https访问则会无法访问。
2.4 防范措施
在进行本次实验时,攻击者需要搭建一个钓鱼网站,SET工具搭建的钓鱼网站已经十分成熟,甚至可以正常进行跳转或是执行一些控件,所以想要从网站看出一些破绽是比较困难的。
所以,我认为要想有效的防止这种攻击,最佳方案就是从如何预防DNS劫持考虑,以下是一些预防措施。
- 使用公共DNS服务器:选择知名的公共DNS服务,如Google DNS(8.8.8.8和8.8.4.4)或Cloudflare DNS(1.1.1.1),这些服务通常具有较高的安全性和稳定性。避免使用不受信任或小型的DNS服务提供商,以减少被劫持的风险。
- 定期更新系统和软件:保持操作系统、浏览器、防病毒软件等安全软件的最新版本,确保及时安装安全补丁和更新。这可以防止已知漏洞被利用,从而降低DNS劫持的风险。
- 检查DNS设置:定期检查计算机和路由器的DNS设置,确保它们没有被篡改。如果发现异常,应立即更改回可信任的DNS服务器地址。
- 启用安全协议:考虑使用加密协议,这些协议可以对DNS查询进行加密,防止查询结果被篡改或窃取。
- 避免使用不受信任的公共Wi-Fi:在公共Wi-Fi网络中,DNS请求容易被劫持。因此,尽量避免使用不受信任的公共Wi-Fi网络。如果必须使用,建议使用VPN服务来加密网络连接。
- 提高个人安全意识:不轻信不明链接和邮件,避免点击不明广告或下载未知来源的软件。这些行为可能增加感染恶意软件的风险,从而导致DNS设置被篡改。
除了上述方法,在进行2.3时,实现攻击过程中出现里许多问题,其中有一些可以给我们提供一些新思路。
首先是使用https协议,如果启动了https协议,对于绝大多是钓鱼网站的访问都可以直接过滤掉,该项功能其实也是很多现代化工具都有提供,例如目前市面上绝大多是的浏览器都有http强制转换https,所以,我们要选择最新、最官方、认可度高的浏览器使用,并且启动http强转https的设置(很多都是默认启动的)。
其次,就是对于cookies的灵活运用,正确使用cookies可以防止上述DNS劫持,在访问存在cookies过的网站时,可以有效防止DNS劫持。
3.问题及解决方案
- 问题1:在进行2.3时,按照2.1和2.2做完后,通常会发现,模拟真实情况下访问网站直接输入域名,会提示无法访问。
- 问题1解决方案:出现该问题的原因是,对于现代浏览器来说,直接使用域名访问时,大多数情况下默认为使用https协议,所以在访问的同时要注意修改为http协议。
- 问题2:即使按照问题1解决方案进行操作,仍然会发现无法访问。
- 问题2解决方案:该问题其实比较好解决,对于浏览器来说cookies是非常重要的技术,他能在本地存储一些网站访问的信息,例如密码等就是最常用的,对于我们这次实验来说,cookies则会干扰钓鱼网站的访问,如果在实行DNS欺骗之前,用户访问过你构造的URL(如果你直接使用现有的url的话),对于浏览器来说会先通过cookies进行访问,但是实行DNS欺骗后,cookies和DNS表就会有冲突,从而导致无法正常访问,为了完成实验,则需要,将cookies中有关url的信息删除。
4.学习感悟、思考等
在这次深入探索网络欺诈原理的实践活动中,我获得了宝贵的经验与深刻的体会,这些远远超出了单纯技术操作的层面。通过亲自操作SET工具建立冒名网站以及利用Ettercap进行DNS欺骗,我不仅理解了这些欺诈手段的技术基础,更重要的是,我深刻体会到了网络安全防范的紧迫性和复杂性。
亲手搭建一个足以欺骗普通用户的冒名网站,并通过DNS欺骗技术将其与真实网站混淆,这让我深切地感受到了网络欺诈的隐蔽性和欺骗性。这种体验让我意识到,网络安全不仅仅是技术问题,更是对人性弱点的利用和考验。
在掌握这些技术的同时,我也深刻体会到了技术与伦理之间的微妙平衡。虽然这些技术可以用于提高安全意识,但如果被不法分子利用,将会对个人和社会造成巨大的危害。因此,我认识到,作为技术人员,我们有责任确保自己的技术不会被用于非法目的,同时也要积极倡导网络安全伦理,共同维护一个安全、和谐的网络环境。