20231911马星 2022-2023-2 《网络攻防实践》实验四

news2024/11/15 15:25:12

1.实践内容

在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
1.1 ARP欺骗攻击:
(1)ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。最早探讨ARP欺骗的文章是由Yuri Volobuev所写的《ARP与ICMP转向游戏》
(2)原理:一方面,ARP协议在进行IP地址到MAC地址映射査询时,采用广播请求包方式在局域网段中询问映射关系,但没有对响应结果进行真实性验证;另一方,ARP协议为提高效率,设计ARP缓存机制,以及会将主动的ARP应答视作有效信息进行接受,这使得ARP缓存出常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。
1.2 ICMP路由重定向攻击
(1)ICMP路由重定向攻击是指攻击者发送伪造的路由重定向消息到目标主机,试图引导网络流量通过攻击者控制的路由器,从而实现中间人攻击。
​(2)原理:攻击节点利用IP源地址欺骗技术,冒充网关IP地址,向被攻击节点发送ICMP 重定向报文,给被攻击节点指定的新路由器IP地址,并以这个新路由器IP地址为攻击节点。被攻击节点会对ICMP报文进行限制条件监测,检查通过后,就会通过这个新路由器向外网进行通信,攻击者就可以进行嗅探或者监听了。
1.3 TCP RST攻击
(1)TCP RST攻击也被称为伪造TCP重置报文攻击(spoofed TCP reset packet),是指一种假冒干扰TCP通信连接的技术方法。
​(2)原理:TCP重置报文将直接关闭掉一个TCP会话连接,通信方A与B建立TCP协议进行数据传输时,攻击者可以利用TCP重置报文切断A与B之间的会话,当然这里攻击者要借用IP源地址欺骗伪装成A或者B才可以。
1.4 TCP SYN Flood拒绝服务攻击
(1)它试图使目标系统无法处理新的TCP连接请求,从而使合法用户无法建立连接。
(2)TCPSYN Flood原理利用TCP三次握手存在连接队列平静的缺陷,主机A想与服务器建立会话必须经过三次握手协议,攻击者B不断的向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为主机A提供服务。
1.5 TCP会话劫持攻击
TCP会话劫持是劫持通信双方已建立的TCP会话连接,再假冒其中一方的身份,与另一方进行进一步通信,这样攻击方就可以躲避一些身份认证。
我们可以把会话劫持攻击分为两种类型:
①中间人攻击(Man In The Middle,简称MITM);
②注射式攻击(Injection);
并且,还可以把会话劫持攻击分为两种形式:
①被动劫持,
②主动劫持;
被动劫持实际上就是在后台监视双方会话的数据流,从中获得敏感数据;而主动劫持则是将会话当中的某一台主机“踢”下线,然后由攻击者取代并接管会话,这种攻击方法危害非常大,攻击者可以做很多事情,比如“cat etc/master.passwd”(FreeBSD下的Shadow文件)。

2.实践过程

本次实践选取kali虚拟机、Metasploitable2-Linux虚拟机和win2k虚拟机。实践第一部分是使用 ifconfig命令分别查看三台虚拟机的IP和MAC地址
在Kali虚拟机输入命令:ifconfig查看虚拟机IP地址和MAC地址:
IP:192.168.43.246,MAC:00:0c:29:ea:6f:0a
在这里插入图片描述在win2k虚拟机输入命令ipcconfig/all看虚拟机IP地址和MAC地址:
IP:192.168.200.124,MAC:00:0c:29:48:77:d3
在这里插入图片描述
在Metasploitable2-Linux虚拟机输入命令ifcconfig看虚拟机IP地址和MAC地址:
IP:192.168.200.123,MAC:00:0c:29:0b:4d:6b
在这里插入图片描述2.1 ARP缓存欺骗攻击
1.在Metasploitable2-Linux虚拟机上ping win2K靶机的IP地址,查看其是否与win2k靶机连通:
可以看到两个虚拟机之间是联通的。
在这里插入图片描述在Metasploitable2-Linux虚拟机中输入arp -a,查看ARP缓存的信息:
在这里插入图片描述2.在Kali虚拟机中安装netwox,在命令行中输入:apt install netwox:
在这里插入图片描述然后在Kali上执行指令 netwox 80 -e 00:0c:29:0b:4d:6b(Metasploitable2-Linux的MAC地址) -i 192.168.200.124( win2k的IP地址):
在这里插入图片描述中间内容是安装netwox。
然后再在Metasploitable2-Linux虚拟机中再次输入arp -a命令,发现win2k靶机的MAC发生改变,停止运行Kali攻击机中的netwox 80 -e00:0c:29:0b:4d:6b -i 192.168.200.124指令,再次查看arp缓存会发现win2k靶机的MAC地址变回攻击前的地址了
在这里插入图片描述2.2 ICMP重定向攻击
1.在Ubuntu虚拟机上输入指令ifconfig查看虚拟机的IP地址:
Ubuntu虚拟机的IP地址为192.168.200.4。
在这里插入图片描述运行route -n命令:
可以看到虚拟机的网关为192.168.200.1。
在这里插入图片描述然后输入指令ping baidu.com:
发现能ping通,且对面的IP地址为110.242.68.66:
在这里插入图片描述3.在Kali虚拟机中运行攻击指令netwox 86 -f “host 192.168.200.4(Ubuntu的IP地址)” -g 192.168.43.246(Kali攻击机IP地址) -i 192.168.200.1(Ubuntu的网关):
在这里插入图片描述回到Ubuntu虚拟机中,再次运行ping baidu.com命令,发现目标主机的IP地址被重定向到Kali虚拟机的IP地址。
2.3 SYN Flood攻击
1.打开Kali攻击机中的Wireshark,并选择eth0网卡:
在这里插入图片描述2.在SEEDUbantu主机的终端中运行命令telnet 192.168.200.123(Metasploitable2-Linux的IP地址),以命令行的形式访问Linux靶机:
可以看到,Ubuntu主机能够正常访问Linux靶机。
在这里插入图片描述在wireshark中输入ip.addr == 192.168.200.123 ,可以看到有正常的TCP-SYN/ACK响应
在这里插入图片描述4.在Kali虚拟机中输入指令:netwox 76 -i 192.168.200.123(Metasploitable2-Linux靶机的IP地址) -p 23,对Metasploitable2-Linux靶机进行SYN Flood攻击:
在这里插入图片描述

可以在wireshark中看到许多目的地址为192.168.200.123(Metasploitable2-Linux靶机的IP地址)的SYN数据包,且发送地址(source)为伪造的:
在这里插入图片描述2.4 TCP RST攻击

在TCP RST攻击中同样选择利用攻击机Ubuntu向靶机Metasploitable2-Linux发起telnet服务访问,用Kali攻击机对靶机发起TCP RST攻击。
1.在攻击机Ubuntu中输入:telnet 192.168.200.123(Metasploitable2-Linux靶机的IP地址):
在这里插入图片描述2.在Kali虚拟机上利用netwox对Metasploitable2-Linux靶机进行TCP RST攻击 ,输入指令:netwox 78 -i 192.168.200.123:
在这里插入图片描述3.回到Ubuntu的界面,可以发现连接已经被强制关闭了
4.打开Kali查看Wireshark中的包,可以看到攻击机向靶机发送了RST包:
在这里插入图片描述2.5 TCP会话劫持攻击

1.在kali上输入ettercap -G打开Ettercap,再点击右上角的对钩进入操作界面,点击放大镜开始扫描网络中的主机:
在这里插入图片描述选择Ubuntu主机(192.168.43.120),将其添加到Target1中;选择Metasploitable2-Linux靶机(192.168.43.134),将其添加到Target2中:
在这里插入图片描述点击右上角的小地球打开MITM,选择ARP poisoning,点击OK,开始攻击,下方显示框里也表明此时的受害机是MetasploitableUbuntu与SEEDUbuntu
在这里插入图片描述2.在SEEDUbuntu上通过命令telnet 192.168.200.123服务登录靶机MetasploitableUbuntu,登录成功,此登录过程已被嗅探攻击
在这里插入图片描述3.回到Kali虚拟机,点击“View”-“Connections”,可以查看到该连接

在这里插入图片描述4.在ettercap中选择View->Connections查看连接情况,打开后能够看到SEEDUbuntu登录MetasploitableUbuntu使用的用户名和密码,说明攻击成功
在这里插入图片描述

3.学习中遇到的问题及解决

  • 问题:运行QT5.7程序显示没有权限问题(Operation net permitted)
  • 问题解决方案:进入root模式

4.学习感悟、思考等)

通过这次学了解到常见的网络攻击形式,了解Tcp协议栈的缺陷,进行以上实践,我深刻地理解到了它们的攻击过程,明白了网络安全的重要性在实践中提高动手能力。

参考资料

《网络攻防技术与实践》——诸葛建伟

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1551692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法-PID】

算法-PID ■ PID■ 闭环原理■ PID 控制流程■ PID 比例环节( Proportion)■ PID 积分环节(Integral)■ PID 微分环节(Differential) ■ PID PID 分别是 Proportion(比例)、 Integr…

如何购买小程序模板开发企业小程序

在当今数字化时代,小程序已成为企业展示与营销的重要工具。购买一个小程序模板,来快速上线自己的企业小程序,已成为当前最流行且性价比最高的开发方式。 乔拓云网站提供了丰富的小程序模板资源,无论你需要哪种风格或功能的小程序&…

WOT全球技术创新大会2024北京站:技术派与市场派共话AIGC新未来

WOT全球技术创新大会2024将在北京盛大开幕,聚焦AIGC时代的软件工程新范式、AI Agent探索与应用、多模态AIGC前沿探索以及大模型部署与应用等核心议题。此次大会将促进技术信仰派与市场信仰派间的深度对话与交流,共同探讨AIGC技术的未来发展方向。 在过去…

【Java程序设计】【C00351】基于Springboot的疫情居家办公系统(有论文)

基于Springboot的疫情居家办公系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 项目获取 🍅文末点击卡片获取源码🍅 开发环境 运行环境:推荐jdk1.8; 开发工具:eclipse以及i…

Flask python 开发篇:上传文件(在指定目录下创建文件夹)

flask上传文件以及常见问题 一、flask文档上传文件的介绍二、上传文件的实现2.1、生成一个from表单,用来提交图片2.2、编写上传的逻辑 三、运行代码、以及常见异常四、写在最后 一、flask文档上传文件的介绍 Flask上传文件的文档介绍,文件上传的基本思想…

快递鸟物流轨迹地图API接口,包裹行程尽在掌握!

在快节奏的现代生活中,物流行业作为连接生产者与消费者的桥梁,其重要性不言而喻。随着电子商务的飞速发展,人们对物流信息的实时性和准确性要求越来越高。为了满足这一需求,快递鸟物流轨迹地图API应运而生,为广大用户提…

WIFI驱动移植实验: wireless tools 工具测试

一. 简介 前面一篇文章交叉编译了 wireless tools 工具,并移植到开发板文件系统上。文章如下: WIFI驱动移植实验: wireless tools 工具移植-CSDN博客 本文对 所移植的操作 WIFI设备的工具 wireless tools进行测试。确认是否可以使用。 二…

【浅尝C++】使用模板实现泛型编程第一弹=>函数模板/类模板/模板匹配原则/函数模板原理

🏠专栏介绍:浅尝C专栏是用于记录C语法基础、STL及内存剖析等。 🚩一些备注:之前的文章有点杂乱,这里将前面的知识点重新组织了,避免了过多冗余的废话。 🎯每日努力一点点,技术变化看…

如何删除Excel中的空白行?这里提供详细步骤

要从数据集中删除所有空白行吗?如果是这样,Microsoft Excel提供自动和手动方法来清除空白行并向上移动数据。下面是如何使用这些方法。 删除空白行时,Excel会删除整行并上移数据,以便数据集中不再有空行。记住,你也可…

linux下使用迅雷的完美办法(网络版免费),其他下载工具

迅雷有自家服务器的支持,因此,其他下载器,可能难以匹敌 ? linux下使用迅雷的完美办法(免费) https://blog.csdn.net/lqrensn/article/details/8853949 网络版 Linux下安装并使用迅雷 https://www.lxlin…

【微服务】Nacos(注册中心)

文章目录 1.基本介绍1.概述2.Nacos下载和运行(java8/maven3.2.x)1.解压到没有中文路径的2.双击startup3.浏览器输入http://192.168.242.124:8848/nacos4.用户名和密码为nacos5.cmd输入netstat -anb | more查看监听端口 2.创建Nacos服务提供者 100041.项目…

人工智能在产业中应用--生成智能

二、生成式人工智能 前面介绍了很多人工智能的应用,接下来部分我们会介绍当前正在进行的生成智能。生成智能和以往的人工智能有什么区别,个人觉得主要区别就在于“度”。在表现上就是以前的人工智能更多是利用既有的数据集分布挖掘和解决在这个数据集下…

WPF 命名空间解释

在C#中有命名空间的概念,我们可以使用using引入,就可以使用其中的类,在xaml中,也同样有命名空间,在window标签中用xmlns声明的这几行,这就是本页面引入的命名空间。 一般的情况下,我们引入命名空…

计算机网络:传输控制协议(Transmission Control Protocol-TCP协议

计算机网络:传输控制协议(Transmission Control Protocol-TCP协议) 本文目的前置知识点TCP协议简介主要特性通信流程1. 建立连接的过程(三次握手,243)1.1 为什么要三次握手,两次不行吗? 2. 释放连接的过程(…

在Linux上使用nginx反向代理部署Docker网站

在政务云上部署Web环境,为了保证服务器安全,甲方只开放一个端口且只允许使用https协议进行访问,经过思考,决定使用docker部署网站,使用nginx反向代理,通过不同的二级域名访问不同的端口。 1 使用docker部署…

每日一题系列 —— 说一下JS的数据类型。/ JavaScript的数据类型有哪些?

面试官:说一下JS的数据类型。/ JavaScript的数据类型有哪些? 答:JavaScript的数据类型分为两种:①基本数据类型;②引用数据类型 其中基本数据类型包括: (1)数值(Number…

ubuntu的常用操作

一、用户 1.1 创建新用户 1.1.1 添加、修改、删除 1.2 超级用户root 切换到root用户,有全部权限,可以直接使用任何命令。 我们在什么时候才会切换到root用户进行操作呢?当我们使用某些命令,不想前面一直加sudo的话,…

大型DMP系统

前言 大家好,我是jiantaoyab,这是我作为学习笔记总结应用篇第一篇,本章大量的参考了别的博主的文章。 我们今天就先从搭建一个大型的 DMP 系统开始,利用组成原理里面学到的存储器知识,来做选型判断,从而更…

jenkins权限分配

1.安装权限插件 Role-Based Strategy 2.创建用户 3.修改全局安全配置中的授权策略为Role-Based Strategy 4.进入Manage and Assign Roles创建Global roles和Item roles 4.进入Assign Roles给用户分配role

行存储与列存储:大数据存储方案的选择与优缺点分析

随着大数据时代的来临,数据的规模和复杂性呈指数级增长,传统的关系数据库已经不再适应这一巨大的存储量和计算要求。在大数据存储领域,行存储和列存储成为两种备受关注的存储方案。本文将探讨行存储和列存储的定义、优缺点,并结合…