20222423 2024-2025-1 《网络与系统攻防技术》实验七实验报告
1. 实验内容
1.1 内容回顾
本周学习内容主要聚焦于Web安全,了解了常见的web技术,比如前后端的概念,前端常用语言(如css,html,js等),后端常用语言(c,c++,java,python等等),深入学习了SQL注入的
基本原理和实现方式,没想到通过修改连接提交中的一些看似不起眼的字符,就能对服务器端造成极大的损害,真的是魔高一尺,道高一丈,攻击者总能从一些看似不起眼的问题中挖掘出漏洞进行攻击,所以一定要培养良好的安全意识。
1.2 实验内容
本实践的目标在于理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。实验内容如下:
(1)简单应用SET工具建立冒名网站
(2)ettercap DNS spoof
(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。
(4)理解常用网络欺诈背后的原理,提高防范意识,并提出具体防范方法。
2.实验过程
2.1 任务一:简单应用SET工具建立冒名网站
攻击方kali的IP
2.1.1 启动set工具
SET(Social Engineering Toolkit)是一个基于Python开发的开源社会工程学渗透工具包,主要用于进行社会工程学攻击。SET工具包提供了一系列的工具和模块,帮助攻击者通过诱导、说服、恐吓等方式获取目标的敏感信息或执行恶意操作。
首先需要准备开启可供靶机访问的网站框架,kali中自带了Apache2服务器,首先输入
sudo vim /etc/apache2/ports.conf
可以看到默认采用80端口,采用Http协议,如果想使用https访问的话,需要将端口号改为443
下面开启apache2服务
systemctl start apache2
然后启动set工具服务
setoolkit
2.1.2 克隆目标网站
启动set工具之后
可以看到提供了如下选择
(1)Social-Engineering Attacks:社交工程攻击:创建伪装成合法网站的钓鱼页面,用于诱骗用户输入敏感信息。
(2)Penetration Testing (Fast-Track):渗透测试(快速通道)
(3)Third Party Modules:第三方模块
(4)Update the Social-Engineer Toolkit:更新社交工程工具包
(5)Update SET configuration:更新SET配置
这里既然要进行钓鱼建立冒名网站,所以选择 社会工程学攻击 ,这里选择1
可以看到又列出了许多选项
(1)Spear-Phishing Attack Vectors:鱼叉式网络钓鱼攻击向量
(2)Website Attack Vectors:网站攻击向量:网站攻击向量通常指的是针对网站的攻击方法,如跨站脚本攻击(XSS)、SQL注入、命令注入等,用于窃取数据、篡改网页内容或执行其他恶意活动。
(3)Infectious Media Generator:感染媒介生成器
(4)Create a Payload and Listener:创建载荷和监听器
(5)Mass Mailer Attack:批量邮件攻击
(6)Arduino-Based Attack Vector:基于Arduino的攻击向量
(7)Wireless Access Point Attack Vector:无线接入点攻击向量
(8)QRCode Generator Attack Vector:QR码生成器攻击向量
(9)Powershell Attack Vectors:PowerShell攻击向量
(10)Third Party Modules:第三方模块
这里我们选择2,进行钓鱼网站攻击向量
可以看到依旧提供了许多选项
(1)Java Applet Attack Method:Java Applet 攻击方法
(2)Metasploit Browser Exploit Method:Metasploit 浏览器漏洞利用方法
(3)Credential Harvester Attack Method:凭据收集器攻击方法:凭据收集器攻击方法是一种网络钓鱼技术,通过创建伪造的登录页面或表单来诱骗用户输入其用户名和密码等凭据信息。攻击者然后可以使用这些凭据来访问用户的账户。
(4)Tabnabbing Attack Method:标签劫持攻击方法
(5)Web Jacking Attack Method:网站劫持攻击方法
(6)Multi-Attack Web Method:多重攻击网页方法
(7)HTA Attack Method:HTA 攻击方法
这里选择3,选择克隆一个网站
(1)Web Templates:网页模板
(2)Site Cloner:网站克隆器:网站克隆器是一种工具,用于复制整个网站的结构、内容和设计,以便进行进一步的分析、修改或作为新网站的起点。
(3)Custom Import:自定义导入
这里果断选择2,进行网络站点克隆
下来我们需要选择一个网站进行克隆,这里我选择了学校的校园邮箱官网
随后再目标靶机里面进入网页输入kali的IP
可以看到,成功将学院邮箱官网克隆过来,但注意网址使用的是http,并且IP是kali的IP
在这里输入账号密码尝试登录,可以看到Kali端截取到了信息,但是密码是被加密了的,无法看到
至此,任务一完成
2.2 ettercap DNS spoof
Ettercap是一个功能强大的网络嗅探和中间人攻击工具,主要用于网络安全评估和渗透测试。它支持多种网络攻击技术,包括ARP欺骗、DNS欺骗、会话劫持等,并且提供了丰富的插件支持,可以扩展其功能。Ettercap可以在多种操作系统上运行,包括Linux、Windows和macOS。
这里由于特殊原因,重新配置了kali的网卡,详细见 问题与解决 部分
攻击方kali的IP和信息
目标靶机的IP和系统信息
2.2.1 修改kali相关配置
首先这个任务需要接受其他主机的数据包,所以这里需要把kali的网卡改为混杂模式
sudo ifconfig eth0 promisc
随后进入ettercap的DNS表,需要进行一些编辑
vi /etc/ettercap/etter.dns
在文件末尾添加下面的内容
这里将百度和B站的域名和攻击机的IP做了映射,注意这里填入的IP是kali的IP
2.2.2 启动并使用ettercap软件
查看一下网关
route -n
可以看到这个圈起来的IP就是我们的网关。
随后启动ettercap软件
ettercap -G
随后点击右上角的√,进入后选择三个点,找到Scan for hosts
,扫描同一网段下存活的主机,然后点击Hosts List
查看存活的主机有哪些
可以看目标靶机WIN10 的IP
在之前通过查看网关,直到当前网关为192.168.10.1
将网关添加至Target 1
,将目标靶机添加到Target 2
然后点击MITM
,选择ARP poisoning
,点击OK
然后找到工具栏Plugins
选择Manage plugins
开启dns_spoof
2.2.3 测试验证
下面测试在靶机ping
百度和B站的域名
随后在kali端的日志是可以看到靶机Ping目标域名的相关信息的
至此,任务二完成
2.3 结合应用两种技术,用DNS spoof引导特定访问到冒名网站
注意,这里还是需要将网卡修改为混杂模式的,命令在2.2部分就有
这里为了方便查看信息,选择较为容易盗取信息的网站,这里选择天翼快递官网(信安概论课程上曾经使用其进行过抓包)
还是进入ettetcap
,修改缓存表
vi /etc/ettercap/etter.dns
将天翼快递官网域名添加到里面
由于我们需要假冒网站,这里的域名进行了稍微修改,多添加了一个k
,也就是假冒成了www.tykkd.com
然后按照2.1 克隆网站的步骤,克隆天翼快递官网的登录页面
随后按照2.2的步骤,开启dns欺骗
配置完后,在目标靶机,尝试ping
一下错误的域名,www.tykkd.com
可以看哪到,得到的IP地址反而是攻击机kali的IP
而kali端也能在日志中看到对应的消息
随后尝试在靶机输入欺诈的错误域名
可以看到返回的结果和原本网站登录界面几乎一模一样,几乎做到了以假乱真,但是注意这里的域名是欺骗域名
看一下源官网登录界面是什么样子
基本一模一样,只不过欺诈域名相对于官网还是有一些差别的
然后在目标靶机进入的网页中输入用户信息,尝试登录,看看kali能不能获取到
可以看到Kali端成功获取到用户输入的账号密码,窃密成功
至此我们就成功实现了引导访问冒名网站的任务
2.4 如何防范网络欺诈,提出具体防范方法
链接千万条,安全第一条
上网不规范,钱包两行泪
通过此次实验,不难看出网络诈骗攻击常常使用以下手段进行钓鱼欺骗
-
(1)ARP欺骗:攻击者通过伪造ARP消息,将自己的MAC地址与目标IP地址关联,从而截获目标设备的网络流量
-
(2)DNS欺骗:攻击者通过篡改DNS记录,将域名解析到恶意的IP地址,从而引导用户访问虚假网站。
-
(3)Web欺骗:攻击者通过创建虚假的网站或篡改现有网站的内容,诱使用户输入敏感信息或下载恶意软件
当然还有社会工程学攻击,钓鱼邮件短信欺骗等等,防不胜防,这更需要我们提高安全意识,保护个人隐私。
-
1.谨慎对待不明链接:不轻易点击不明链接或下载未知来源的附件,尤其是在邮件、社交媒体或短信中收到的内容,以防隐私泄露,遭受攻击。
-
2.注意网站安全:在访问一些敏感网站(如银行官网等)时,确保网站的URL以“https”开头,使用的是安全连接,并检查网站的证书是否有效,确保网站是得到权威认证的官方网站。
-
3.使用安全工具:使用专业的网络安全工具,如入侵检测系统(IDS)、反病毒软件等,可以有效地防范网络诈骗攻击。这些工具可以监控网络流量,检测并阻止恶意软件和网络攻击。
-
4.提高安全意识:时刻保持警惕,在上网浏览的时候尽量不要将个人信息透露态度,在进行登录等操作的时候,使用强口令,并且不定时需要更换就口令。
-
5.个人教育和培训:积极参加社会上开展的网络安全培训和教育活动,了解最新的网络诈骗手段和防范方法,锻炼“火眼金睛”
-
6.及时更新:及时安装操作系统和应用程序的安全更新和补丁,可以修复已知的安全漏洞,防止攻击者利用这些漏洞进行攻击。
-
7.定期安全审计和漏洞扫描:进行定期的安全审计和漏洞扫描,以检测系统中的漏洞和安全隐患,并及时修复
-
8.做好检测管理:建立安全监控和日志记录机制,以便及时发现异常活动或潜在攻击,以便做出及时的反应和应对
3.问题及解决
-
问题1:ettercap中扫描主机后,Host List中不显示网关ip
这个问题我估计使用VMWARE的同学应该不会有,问题主要出在 Virtual box的设置上
在使用virtual box的时候,本来查看网关,结果出现下面的情况
结果出现没有网关!!
这下ettercap工具使用部分的实验没法正常进行了。。。
下来就不得不吐槽Virtual box的设置了
在最初virtual box给每个虚拟机的默认网卡配置使用 (网络地址转换“NAT”) ,但是问题就出在这个NAT设置太死板了,每个虚拟机分配的IP全是10.0.2.15
,这就出现虚拟机能够正常上网但是虚拟机之间根本无法互Ping,更别提实施欺骗了。
后来针对这个问题我的解决方案是网卡使用 _(仅主机网络(Host-only)),这才让每个虚拟机之间有了不同的ip
虚拟机kali的IP
虚拟机win10的IP
互Ping通的问题解决了,但是对于此次实验又有一个大问题,就是没有网关。。。
那ettercap
工具就无法正常使用了
最初我的结局方案是直接在VMWARE重新安装一个kali,才有了前面 2.2 部分提出的换了虚拟机
后来我搜索了大量资料,发现Virtual box其实也可以手动配置Nat
网络,通过这个可以解决IP一样和没有网关的问题
- 首先在Virtual box的全局设置找到“网络”选项
- 然后找到“Nat网络”的选项,新建一个新的局域网段NatNetWork
这里我设置网段为192.168.10.0/24
,虚拟机会默认将地址+1作为网关,也是就是现在的网关变成了192.168.10.1
然后保存,将虚拟机的网卡设置改为Nat
注意不是网络地址转换(Nat)
然后保存,并且重启虚拟机,然后测试分配是否成功
攻击机kali的IP
靶机win10的IP
可以看到kali确实被分配了该网段下的一个IP,然后测试是否会出现网关
可以看到成功出现了网关,而且经测试,各个虚拟机之间都可以互ping通
然后再使用ettercap
工具,扫描网段,看看是否会出现目标靶机(Win10)以及网关
很好,这下就可以正常实现dns欺骗了!
注意修改dns缓存表
可以看到这下就可以成功实现dns欺骗,继续进行后面的实验了!
问题解决
-
问题2:dns欺骗不成功,靶机ping的时候显示是正常的网站IP
有些同学可能发现在ettercap
中打开了dns_spoof
后,靶机解析的域名却还是正常网站的IP
这个问题也很好解决,这是由于在开启dns_spoof
前就ping过实施欺骗的目标域名,导致靶机将官网正确域名保存在了本地dns缓存之中,所以后面即使开启dns_spoof
后访问的还是正常的IP,毕竟缓存之中已经有了解析出来的IP,就不用再次去解析域名,固然就不会在得到攻击机的ip
所以我们需要在靶机清空一下dns缓存
ipconfig /flushdns
然后再测试是否欺骗成功
可以看到成功欺骗,至此问题解决
4.学习感悟思考等
-
通过此次实验,让我深入理解了常见网络欺诈背后的原理,通过实践制作了假冒钓鱼网站,并引诱目标主机输入个人信息,从而获取到个人信息,确实没想到实现一个网站欺骗的步骤并不算复杂(准确说是因为有现成的工具使用,才大大简化了流程),这也反而让我更加意识到更应该重视上网安全,未知或者可能有安全隐患的连接不能随便点击,同时上网的时候一定要注意网页url是否使用安全连接(如https),并且认证网站的证书是否有效,尽可能不要在网页泄露过多的个人信息。
-
整体上整个实验不太复杂,最大的问题也只是在虚拟机平台出现的,也算是知道为什么推荐使用Vmware安全虚拟机了。。总而言之也是一次通过攻击反过来提高个人安全意识的实验,针对网络诈骗一定要锻炼“火眼金睛”,保护个人隐私安全。