20222420 2021-2022-2 《网络与系统攻防技术》实验七实验报告
1.实验内容
1.1实验内容简述
本实践的目标为理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。
(1)简单应用SET工具建立冒名网站
(2)ettercap DNS spoof
(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。
(4)提出具体防范方法
1.2近期学习内容
(1)Web安全基础
各种语言、框架,前端有HTML、JavaScript、CSS、Web前端框架,后端有C、Java、PHP、数据库语言等
(2)Web安全攻防
SQL注入、XSS跨站脚本攻击、跨站请求伪造、防范
(3)Burpsuite工具
针对Web应用的安全测试平台,可重放、扫描等
2.实验过程
2.1 简单应用SET工具建立冒名网站
(1)在root权限下,使用命令setoolkit
打开SET工具
进入后有一个菜单界面,下面是对其的翻译和解释:
- Social-Engineering Attacks(社会工程学攻击)
执行各种社会工程学攻击,如网络钓鱼、网站克隆等,以欺骗目标用户泄露敏感信息。 - Penetration Testing (Fast-Track)(渗透测试(快速通道))
提供了一个简化的渗透测试流程,旨在快速评估目标系统的安全性。 - Third Party Modules(第三方模块)
访问和使用SET中包含的第三方模块,这些模块可能提供了额外的功能或工具。 - Update the Social-Engineer Toolkit(更新社会工程学工具包)
更新SET到最新版本,以确保你拥有最新的功能和安全修复。 - Update SET configuration(更新SET配置)
更新或修改SET的配置设置,以适应你的特定需求或环境。 - Help, Credits, and About(帮助、致谢和关于)
获取SET的使用帮助、查看开发者致谢信息以及了解SET的详细信息。 - Exit the Social-Engineer Toolkit(退出社会工程学工具包)
退出SET程序,返回到你的操作系统桌面或命令行界面。
(2)选择第一个选项,Social-Engineering Attacks(社会工程学攻击)
选择第一个选项后,有一个菜单界面,下面是对其的翻译和解释:
- Spear-Phishing Attack Vectors(定向钓鱼攻击向量)
解释:这种攻击是针对特定目标或组织的高度定制的钓鱼攻击。攻击者会发送看似来自可信来源的恶意邮件或消息,诱使目标点击恶意链接或下载恶意附件。 - Website Attack Vectors(网站攻击向量)
解释:这些攻击涉及利用网站漏洞或欺骗用户访问恶意网站,以窃取信息、安装恶意软件或执行其他恶意行为。 - Infectious Media Generator(感染媒体生成器)
解释:这个工具可以生成包含恶意代码的媒体文件(如PDF、Word文档、图片等),当目标打开这些文件时,恶意代码就会被执行。 - Create a Payload and Listener(创建有效载荷和监听器)
解释:有效载荷是攻击者希望在目标系统上执行的恶意代码或命令,而监听器则是用于接收来自目标系统的数据或命令响应的工具。 - Mass Mailer Attack(大规模邮件攻击)
解释:这种攻击涉及向大量电子邮件地址发送恶意邮件,以传播恶意软件、进行网络钓鱼或执行其他恶意活动。 - Arduino-Based Attack Vector(基于Arduino的攻击向量)
解释:Arduino是一种流行的开源微控制器平台,这个选项使用Arduino设备来执行物理攻击或与其他系统交互以执行恶意行为。 - Wireless Access Point Attack Vector(无线接入点攻击向量)
解释:这种攻击涉及设置恶意的无线接入点(也称为“邪恶孪生”),以诱骗用户连接到它,从而窃取信息或执行其他恶意行为。 - QRCode Generator Attack Vector(二维码生成器攻击向量)
解释:这个工具可以生成包含恶意链接的二维码,当目标扫描这些二维码时,他们可能会被重定向到恶意网站或下载恶意软件。 - Powershell Attack Vectors(Powershell攻击向量)
解释:Powershell是Windows操作系统上的一种强大脚本语言,这个选项使用Powershell脚本来执行恶意行为,如信息窃取、系统控制等。 - Third Party Modules(第三方模块)
解释:这个选项访问和使用来自其他开发者或组织的额外模块或工具,这些模块可能提供了额外的功能或攻击向量。 - Return back to the main menu.(返回主菜单)
解释:这个选项返回到上一级菜单,以便选择其他功能或退出程序。
(3)选择第二个选项,Website Attack Vectors(网站攻击向量)
选择第二个选项后,有一个菜单界面,下面是对其的翻译和解释:
- Java Applet 攻击方法:
此方法通过伪造Java证书并传递一个基于Metasploit(一种渗透测试框架)的有效载荷来工作。
使用Thomas Werth创建的自定义Java小程序来传递有效载荷。 - Metasploit 浏览器漏洞利用方法:
通过iframe使用特定的Metasploit浏览器漏洞,并传递一个Metasploit有效载荷。 - 凭证收集攻击方法:
通过克隆包含用户名和密码字段的网站来收集发布到该网站的所有信息。 - TabNabbing 攻击方法:
当用户切换到不同的浏览器标签时,此方法会刷新当前页面,将其替换为不同的内容。 - Web-Jacking 攻击方法:
由white_sheep和emgent引入,此方法利用iframe替换,使高亮显示的URL链接看起来合法,但点击后会弹出一个窗口,随后被恶意链接替换。
可以在set_config中编辑链接替换设置,以调整其速度。 - 多攻击方法:
通过Web攻击菜单组合多种攻击。例如,可以同时使用Java Applet、Metasploit Browser、Credential Harvester/Tabnabbing来查看哪种攻击成功。 - HTA 攻击方法:
允许克隆一个网站,并通过HTA(HTML应用程序)文件执行PowerShell注入,这可以用于通过浏览器进行基于Windows的PowerShell利用。 - 返回主菜单:
提供一个选项以返回到主菜单。
(4)选择第三个选项,Credential Harvester Attack Method(凭证收集攻击方法)
选择第三个选项后,有一个菜单界面,下面是对其的翻译和解释:
- Web Templates(网页模板):
通过这个选项,SET 可以导入一系列预定义的网页应用程序模板。这些模板通常是为了模拟真实网站而设计的,以便在攻击中使用。攻击者可以选择一个与目标网站相似的模板,然后在其上部署恶意代码或钓鱼页面。 - Site Cloner(网站克隆器):
这个选项允许用户完全克隆他们选择的任何网站。克隆的网站将包含与目标网站相同的布局、样式和功能,但可以在攻击者的控制下运行。通过克隆网站,攻击者可以利用与目标网站相同的界面和功能来欺骗用户,收集敏感信息或执行其他恶意操作。 - Custom Import(自定义导入):
通过这个选项,用户可以导入他们自己的网站或网页。但是,需要注意的是,当使用导入网站功能时,通常建议只提供一个 index.html 文件作为网站的入口页面。这允许攻击者使用他们自己的设计或特定的钓鱼页面来执行攻击。 - Return to Webattack Menu(返回Web攻击菜单):
这个选项允许用户返回到 SET 的 Web 攻击主菜单,以便选择其他攻击方法或功能。
(5)选择第二个选项,Site Cloner(网站克隆器)
- 先关闭其他Web服务,避免干扰之后克隆的网站
- 在
IP address for the POST back in Harvester/Tabnabbing [192.168.150.192]:
输入回车,使用默认IP - 在
Enter the url to clone:
输入http://tykd.com/User/login/
,以克隆天翼快递的登录界面
- 在局域网内输入默认IP
192.168.150.192
即可访问克隆的网站
- 访问该克隆网站的受害者输入登录信息后便可以在setoolkit中捕获到
可以从图中看到受害者输入的登录邮箱和密码
综上,已经成功简单应用SET工具建立冒名网站并测试攻击成功
2.2 ettercap DNS spoof
(1)把kali的网卡改为混杂模式,以便接收网络上所有数据包
使用ifconfig eth0 promisc
(2)编辑ettercap的DNS表,将域名和攻击机的IP做映射
使用vi /etc/ettercap/etter.dns
进入,然后添加*.baidu.com A 192.168.150.192
和www.bilibili.com A 192.168.150.192
(3)查看网关
使用route -n
,可知网关为192.168.150.2
(4)启动并使用ettercap
-
ettercap -G
启动
-
点击上图右上角的√,然后点击下图左上角的两个图标,以扫描并打开主机列表
-
将靶机windows10
192.168.150.150
加入Target 1
,将网关192.168.150.2
加入Target 2
-
点击右上角的地球图标打开
MITM
,点击ARP poisoning
,再点击ok
。
-
点击右上角的图标打开
Ettercap
,选择Plugins
中的manage Plugins
,双击开启dns_spoof
。
(5)验证 DNS 欺骗攻击是否成功
- 靶机 windows10 中 ping 百度、文心一言(也是百度的)、哔哩哔哩的域名
- 由上图可知,验证成功,www.baidu.com、yiyan.baidu.com、www.bilibili.com均转为攻击机的IP
192.168.150.192
2.3 结合应用两种技术,用DNS spoof引导特定访问到冒名网站
-
编辑ettercap的DNS表,将域名和攻击机的IP做映射
使用vi /etc/ettercap/etter.dns
进入,添加www.tykd.com A 192.168.150.192
和tykd.com A 192.168.150.192
-
按照2.2,进行相同的(1)(3)(4)设置,这里不再重复展示
-
按照2.1,为
192.168.150.192
克隆网页http://tykd.com/User/login/
-
验证
- 靶机windows10打开
http://www.tykd.com
,但其实靶机打开的是攻击机克隆的登录网页,但显示出了域名而非2.1中的IP地址
- 获取靶机的登录信息
经过多次尝试,我终于获取了登录的信息,如下图,之前可能是因为setoolkit自身出错导致CSS等出了错导致抓不到
- 靶机windows10打开
2.4 提出具体防范方法
从以上实验,可知攻击的方法用到了Web欺骗、ARP欺骗、DNS欺骗
相应的防范方法如下:
(1)谨慎连入公共场所的网络,否则就有可能受ARP欺骗、DNS欺骗。
(2)设置静态ARP。最直接防止ARP欺骗的方式。
(3)加强防范意识,不要点击不明链接,就算点了也不要轻易相信其中的页面,要仔细检查域名。
(4)尽量使用https,并检查证书是否正确。如果浏览器提示不安全或证书错误就最好退出该网页。攻击者能模仿网页,甚至证书,但模仿不了证书相应的私钥。
(5)定期或在怀疑受攻击时,检测自身是否受DNS欺骗。具体比如,可通过访问一个不存在的网页来检测,因为攻击者为了速度一般不会验证网址的真实性,并且在本次实验中我为ettercap的DNS表添加了*.baidu.com A 192.168.150.192
,若用户访问了一个*不存在的网址却能打开,那就能确定受到了攻击。
(6)设置安全策略:为网络设备上设置安全策略,禁止未经授权的ARP和DNS信息。
3.问题及解决方案
- 问题1:应用SET工具建立冒名网站时,当完成设置点回车后却回到了之前的菜单
- 问题1解决方案:经过多次重复尝试还是不行,但我能确定没做错。可能是系统的问题,重启后就正常启用了冒名网站了。之后我还遇到了这个问题,但多等一会后就行了。我猜测是因为SET工具的进程或线程没有取消掉导致后续再启动一个SET工具的进程或线程时无法使用80端口,因其自身又只检测并应对apache等其他软件是否占用80端口而没检测应对自己占用的情况,所以当端口被自己之前的进程或线程占用就只能退出了。
- 问题2:结合应用两种技术,用DNS spoof引导特定访问到冒名网站时无法获取到靶机的登录信息,一直显示CSS、JS的404
- 问题2解决方案:多次重复尝试,还尝试了改为用老版的IE访问,结果最后还是通过edge访问得到了靶机的登录信息。我还是觉得是所使用的工具本身的问题,因为多次尝试经过了较长时间后就能成功了。
4.学习感悟、思考等
在这次实验中,我深刻体会到了网络欺诈的隐蔽性和危害性。通过亲自操作SET工具和ettercap进行ARP欺骗和DNS欺骗,我意识到这些攻击手段在技术上并不复杂,但一旦成功实施,就能让受害者毫无察觉地陷入危险之中。
同时,这次实验也让我更加明白了网络安全的重要性。通过几个学期的学习和实践,我知道了一些实用的防范知识和防范方法,如谨慎连接公共场所的网络、设置静态ARP、使用https协议等。这些知识和方法能提高我在网络世界中的自我保护能力。