20212308 2023-2024-2 《网络与系统攻防技术》实验七实验报告
文章目录
1.实验内容
本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有
-
(1)简单应用SET工具建立冒名网站
-
(2)ettercap DNS spoof
-
(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。
2.实验过程
2.1 简单应用SET工具建立冒名网站
(1)启动Apache服务器
kali中内置了apache服务器,启动即可。
systemctl start apache2
(2)开启SEToolkit,选择要使用的工具
SEToolkit(Social-Engineer Toolkit)是一个开源的社会工程学渗透测试工具,主要用于模拟和实施各种社会工程攻击。
以管理员身份在终端输入setookit,稍作等待即可进入起始页面。
setookit
下面简单介绍一下起始页面的选项:
-
Social-Engineering Attacks:社交工程攻击,包括网站克隆、电子邮件钓鱼等。
-
Penetration Testing (Fast-Track):快速渗透测试。
-
Third Party Modules:第三方模块。
-
Update the Social-Engineer Toolkit:检查并更新Social-Engineer Toolkit到最新版本。
-
Update SET configuration:更新或修改Social-Engineer Toolkit的配置设置。
-
Help, Credits, and About:关于Social-Engineer Toolkit的帮助文档、开发者信息、版本信息等。
-
Exit the Social-Engineer Toolkit:退出。
此处输入1,启用社工攻击,点击回车提交。
进入第二个页面,第二个页面提供了进行社会工程学攻击的一些工具,下面介绍一下各选项:
-
Spear-Phishing Attack Vectors:定制钓鱼攻击。
-
Website Attack Vectors:针对网站的攻击工具,如伪造网站、跨站脚本(XSS)攻击等。
-
Infectious Media Generator:生成包含恶意软件的媒体文件。
-
Create a Payload and Listener:创建恶意载荷(payload)和用于接收来自目标系统的回调的监听器(listener)。
-
Mass Mailer Attack:发送大量包含恶意链接或附件的电子邮件给多个目标。
-
Arduino-Based Attack Vector:与Arduino开发板相关的攻击工具或方法。
-
Wireless Access Point Attack Vector:用于设置或管理恶意无线接入点(如伪造Wi-Fi热点)的工具。
-
QRCode Generator Attack Vector:生成包含恶意链接或代码的二维码。
-
Powershell Attack Vectors:使用PowerShell脚本攻击。
-
Third Party Modules:第三方模块。
-
Return back to the main menu:返回主菜单。
此处选择2,我们的目标是伪造网站,点击回车提交。
进入第三个页面,第三个页面提供了可供选择的网站攻击的具体方法,下面介绍一下各选项:
- Java Applet Attack Method:使用伪造的Java证书来传递基于Metasploit的载荷。
- Metasploit Browser Exploit Method:利用Metasploit中选择的浏览器漏洞,通过iframe传递Metasploit载荷。
- Credential Harvester Attack Method:通过克隆包含用户名和密码字段的网站来收集登录凭据。
- TabNabbing Attack Method:等待用户切换到不同的浏览器标签页,然后刷新原始页面以显示不同的内容(恶意内容)。
- Web Jacking Attack Method:使用iframe替换技术,使高亮显示的URL链接看起来合法,但点击后会弹出一个窗口,然后该窗口被恶意链接替换。
- Multi-Attack Web Method:结合多种Web攻击方法,例如Java Applet、Metasploit Browser Exploit、Credential Harvester和TabNabbing,以查看哪种方法最有效。
- HTA Attack Method:允许您克隆网站并通过HTA文件执行PowerShell注入,用于通过浏览器进行基于Windows的PowerShell利用。
此处选择3,我们要克隆一个正常的网站,点击回车提交。
进入第四个页面,第四个页面时配置克隆页面的方式,下面介绍一下各选项:
- Web Templates (Web 模板):SET导入一组预定义的Web应用程序模板。
- Site Cloner (站点克隆器):完全克隆所选择的网站,适合钓鱼攻击。
- Custom Import (自定义导入):创建一个定制化的攻击环境,只包含想要展示的页面和元素。
此处选择2,我们直接找一个现成的站点克隆即可,点击回车提交。
(3)选择站点,克隆钓鱼
接下来根据提示需要输入靶机连接的网站地址,由于钓鱼网站直接在kali的apache服务器上发布,故此处填写kali的ip。
根据提示信息,需要输入被克隆的站点域名,此处我选择的是超星学习通网站。
先查看一下真实的超星学习通网站。
在靶机上(我的靶机是win10)直接访问kali的ip。此处省略了为克隆的网站申请域名,以及DNS解析的过程。
可以看到克隆网站和真实网站一模一样
模拟在克隆网站的表单上输入用户名和口令并提交表单。
kali接收到了请求数据,攻击成功!
2.2 ettercap DNS spoof
(1)搭建环境,查看网络信息
实验七的任务二需要三台机器,我使用的分别是winXP、win10、Kali。
winXP和win10都是靶机。
三台虚拟机的系统版本、ip、网关、网段信息都如下三图所示。
(2)修改kali配置
需要对kali做两处修改:①设置网卡为混杂模式,②修改dns缓存表。
在混杂模式下,网络接口会捕获通过它的所有数据包,而不仅仅是发送到该网络接口所绑定的地址(例如其MAC地址)的数据包。这使得网络接口可以像网络分析仪或数据包嗅探器那样工作,捕获网络上的所有流量。
我们的目标是把百度的数据包转发到kali中,所以在dns缓存表(需要管理员权限)中把百度的域名和kali的ip建立映射关系。
sudo ifconfig eth0 promisc
sudo vim /etc/ettercap/etter.dns
www.baidu.com A 172.30.1.171
*.baidu.com A 172.30.1.171
(3)启动ettercap,实施DNS spoof
首先,图形界面启动ettercap。此处可以用命令,也可以直接去kali的应用中搜。
ettercap -G
启动嗅探并设置好对应的网络接口(这两步默认是开启)之后,点击右上角的对号。
再选择右上角的三个点,点击Hosts——>Scan for hosts。扫描该网络接口下的所有主机。
稍等片刻,等到扫描完,在左上角选择Host List,查看扫描出来的主机列表。实际上显示出来的只有七十多个主机,还是不全的。可以对照第一步ipconfig查看到的网络信息,找到两个靶机及其网关的ip。
把两个靶机的ip加入Target2,这是我们实施欺骗的目标。
找到网关,把网关ip加入Target1。我们要拦住网关的流量,让网关把数据包转给kali,而不是百度。
选择ARP欺骗。
ARP欺骗利用ARP(Address Resolution Protocol,地址解析协议)的漏洞来欺骗网络中的设备,使其发送数据到错误的MAC地址,从而达到窃取数据、网络中断或其他恶意目的。
选择DNS欺骗。
DNS欺骗通过伪造DNS(域名系统)响应来欺骗网络中的设备,使其将域名解析到错误的IP地址。
日志区可以看到我们的操作记录
(4)靶机测试
在win10和winxp上,ping baidu的域名(www.baidu.com或者*.baidu.com,星号是任意字符的意思,这是正则表达式的语法),结果都被转发到了kali中。
当然,如果ping baidu.com是不受影响的,因为DNS缓存表没记录这一条。
同样在ettercap日志中看到数据包信息。
2.3 结合应用两种技术,用DNS spoof引导特定访问到冒名网站
具体步骤与上述过程相似,截图也相同,不再重复截图,下面写一下不一样的部分。
(1)修改kali的DNS缓存表,还是对超星学习通下手。
(2)多次扫描主机号没有扫到网关,应该是ettercap的显示问题,由于之前知道网关的ip,这里直接加进去。
(3)set克隆网站
(4)用DNS spoof引导特定访问到冒名网站
开启DNS欺骗后,靶机访问超星网站,但实际上网关把流量转发给了kali,kali做了DNS冒名,所以靶机访问的是kali(中间人攻击)。
win10访问超星域名:
需要额外说明的是:
可以看到上述信息中,许多样式信息404丢失,所以后面的冒名网站显示不出样式。
原因是我修改了DNS缓存表,所以找不到了,正常的。
winXP访问超星域名:
(5)查看日志信息
实验成功!
3.问题及解决方案
- 问题1:SET克隆网站时,莫名退出
-
问题1解决方案:重启再尝试,即可
-
问题2:ettercap中扫描主机后,Host List中不显示网关ip
- 问题2解决方案:查找了许多网络博客,建议多次尝试/更换网络等均无效。最终采取了手动加入target的方式。
4.学习感悟、思考等
实验七是所有实验中较为顺利的实验。通过本次实验实践了钓鱼网站的制作、ARP欺骗、DNS欺骗、中间人攻击等网络攻防的知识。SET和ettercap都是非常好用的工具,虽然也各有瑕疵,但此类工具大大降低了网络攻击的成本。网络攻击威胁在我们生活中已经无处不在了。期待有更多先进的防御技术为网络空间安全赋能(设想在路由器旁路接一个使用深度学习检测网络欺诈的嵌入式设备会不会好一些?)