20232831 2023-2024-2 《网络攻防实践》第4次作业


目录

  • 20232831 2023-2024-2 《网络攻防实践》第4次作业
    • 1.实验内容
    • 2.实验过程
      • (1)ARP缓存欺骗攻击
      • (2)ICMP重定向攻击
      • (3)SYN Flood攻击
      • (4)TCP RST攻击
      • (5)TCP会话劫持攻击
    • 3.学习中遇到的问题及解决
    • 4.学习感悟、思考等
    • 参考资料


20232831 2023-2024-2 《网络攻防实践》第4次作业

1.实验内容

在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击ICMP重定向攻击SYN Flood攻击TCP RST攻击TCP会话劫持攻击

ARP缓存欺骗攻击:ARP(地址解析协议)缓存欺骗攻击是一种网络攻击,攻击者向目标主机发送虚假的ARP响应,将目标主机的IP地址映射到攻击者控制的MAC地址上。这使得攻击者能够中间窃取、篡改或监视目标主机与其他网络设备之间的通信。
ICMP重定向攻击:ICMP重定向攻击是一种利用ICMP(Internet控制消息协议)消息欺骗目标主机的攻击。攻击者发送伪装的ICMP重定向消息给目标主机,指示目标主机使用不安全的路由器或网关进行通信。这可能导致流量被重定向到攻击者控制的设备,从而实现中间人攻击。
SYN Flood攻击:SYN Flood攻击是一种拒绝服务(DoS)攻击,旨在消耗目标服务器的资源,使其无法响应合法用户的请求。攻击者向目标服务器发送大量伪造的TCP连接请求(SYN),但不完成TCP三次握手过程,从而导致服务器在维护未完成的连接队列时耗尽资源,无法处理新的连接请求。
TCP RST攻击:TCP RST攻击是一种利用TCP协议中的复位(RST)标志发送虚假TCP RST分节的攻击。攻击者发送虚假的TCP RST分节给目标主机,强制终止已建立的TCP连接。这种攻击可能导致服务中断或数据损坏。
TCP会话劫持攻击:TCP会话劫持攻击是一种攻击者劫持已建立的TCP会话的攻击。攻击者在TCP握手阶段或后续通信中窃取会话标识符,并伪装成合法用户,以获取对目标系统的访问权限。一旦劫持成功,攻击者可以执行恶意操作,例如窃取敏感信息或执行未经授权的操作。

2.实验过程

(1)ARP缓存欺骗攻击

首先,对实验环境进行配置。
直接打开三台虚拟机,查询它们的IP地址和Mac地址。由于在实验一中已经配置过,因此直接展示如下:

虚拟机名称IP地址MAC地址
Kali-Linux攻击机(Vmnet8网段192.168.200.400:0c:29:38:6b:f1
Metasploitable-Linux靶机 (Vmnet1网段192.168.200.12300:0c:29:3d:fb:01
Win2kServer靶机(Vmnet1网段192.168.200.12400:0C:29:36:cf:15

Kali-Linux攻击机:
在这里插入图片描述
Metasploitable-Linux靶机
在这里插入图片描述
Win2kServer靶机
在这里插入图片描述
互ping发现,靶机之间可以互相ping通,但是攻击机与靶机无法互ping,这是因为攻击机与靶机不在同一网段,攻击机在Vmnet8网段,而靶机位于Vmnet1网段:
在这里插入图片描述
在这里插入图片描述

但是查看实验一发现,即使不在同一网段,互ping也能实现。当时配置结束时是可以实现ping通的,做下的记录如下:
在这里插入图片描述
当时的实验环境是打开了蜜网网关,猜测应该是蜜网网关的开启,能够链接起不同的网段,因此再次打开蜜网网关后,发现可以实现互ping。
在这里插入图片描述
因此继续进行以下实验:
首先使用Metasploitable-Linux靶机 ping Win2kServer靶机:
在这里插入图片描述
在Metasploitable-Linux靶机中输入arp -a查看当前的ARP表,发现有网关(因为开了蜜网网关,如果关闭蜜网网关,则没有这条记录)和Win2kServer靶机的IP记录和MAC地址记录

且其中Win2kServer靶机的记录为:192.168.200.124/00:0C:29:36:cf:15,与查看的IP和MAC相同
在这里插入图片描述
使用以下命令进行工具netwox的安装

sudo apt-get install netwox

在这里插入图片描述
使用该工具进行以下代码的操作,实现ARP缓存欺骗攻击,即使用netwox伪造并发一个mac地址(虚假mac地址)为00:0C:29:36:cf:16且ip地址为192.168.200.124的数据包,目的是让Metasploitable-Linux靶机误以为虚假mac地址就是Win2kServer靶机的mac地址,但实际上这个虚构地址并不是:

sudo netwox 80 -e 00:0C:29:36:cf:16 192.168.200.124

在这里插入图片描述
可以看出已经发生改变,最后的15变成了16,说明欺骗成功。
在这里插入图片描述
且Win2kServer靶机也检测到了异常,接受到了伪造的信息。
在这里插入图片描述
攻击成功后会发现,Metasploitable-Linux靶机无法ping通Win2kServer靶机,欺骗成功:

(2)ICMP重定向攻击

首先,对实验环境进行展示。

虚拟机名称IP地址
Kali-Linux攻击机(Vmnet8网段192.168.200.4
SeedUbuntu靶机 (Vmnet8网段192.168.200.3

首先在SEEDUbuntu上ping www.baidu.com检查连通性,并查看路由信息route -n:

在这里插入图片描述
可以发现下一个跳的第一个ip地址是网关192.168.200.1

在Kali上使用==netwox ==伪造重定向数据包,即将局域网中来源于IP为192.168.200.3的数据包抓取,并以网关192.168.200.1的名义向数据包的源地址发送一个ICMP重定向报文,使得Kali攻击机的IP地址192.168.200.4作为默认路由,使用的代码如下:

sudo netwox 86 -f "host 192.168.200.3" -g 192.168.200.4 -i 192.168.200.1

在这里插入图片描述
在SEEDUbuntu上再次ping www.baidu.com,发现已经重定向到192.168.200.4上,则ICMP重定向攻击成功,路由的下一跳地址被修改为了192.168.200.4。
在这里插入图片描述

(3)SYN Flood攻击

虚拟机名称IP地址
Kali-Linux攻击机(Vmnet8网段192.168.200.4
SeedUbuntu靶机 (Vmnet8网段192.168.200.3
Metasploitable-Linux靶机 (Vmnet1网段192.168.200.123

首先,使用SeedUbuntu,通过telnet命令远程连接Metasploitable-Linux靶机,检测连通性:

telnet 192.168.200.123

在这里插入图片描述
在这里插入图片描述

可以看到连接成功!

随后,使用Kali攻击机对Metasploitable-Linux靶机的telnet端口(23号端口)进行SYN Flood攻击,即拒绝服务攻击,消耗靶机的资源,使得服务崩溃,导致SeedUbuntu无法使用telnet远程连接Metasploitable-Linux:

sudo netwox 76 -i 192.168.200.123 -p 23

在这里插入图片描述
打开kali的wireshark 可以看见,Kali攻击机正在向Metasploitable-Linux靶机(192.168.200.123)的23号端口疯狂发送SYN请求
在这里插入图片描述
即实现SYN Flood泛洪攻击!

(4)TCP RST攻击

虚拟机名称IP地址
Kali-Linux攻击机(Vmnet8网段192.168.200.4
SeedUbuntu靶机 (Vmnet8网段192.168.200.3
Metasploitable-Linux靶机 (Vmnet1网段192.168.200.123

首先,使用SeedUbuntu,通过telnet命令远程连接Metasploitable-Linux靶机,检测连通性:
在这里插入图片描述

在Kali攻击机中输入以下命令,实现SYN Rst攻击:

sudo netwox 78 -i 192.168.200.123

在这里插入图片描述
开始攻击后,稍等十秒左右,就会发现telnet连接被外界打断:
在这里插入图片描述
再次通过telnet连接,无法连接上,说明TCP RST攻击成功!
在这里插入图片描述

(5)TCP会话劫持攻击

虚拟机名称IP地址
Kali-Linux攻击机(Vmnet8网段192.168.200.4
SeedUbuntu靶机 (Vmnet8网段192.168.200.3
Metasploitable-Linux靶机 (Vmnet1网段192.168.200.123

这次的攻击更换了ettercap工具,首先,在Kali攻击机上使用以下命令进行工具的打开:

sudo ettercap -G

在这里插入图片描述
点击右上角的按钮,进行工具的开始使用:
在右上角依次点击Ettercap Menu、Hosts、Host List,将SEEDUbuntu和MetaSploitable的IP设置为攻击目标。然而打开后发现并没有这两个靶机的IP,甚至一个IP都没有。
在这里插入图片描述
因此,点击Scan for hosts,进行网段内主机扫描后,再查看Host List,即可发现以下IP:

在这里插入图片描述

192.168.200.1(网关
192.168.200.3(SeedUbuntu靶机
192.168.200.8(蜜网IP
192.168.200.120(此为结束ip地址,暂未知为何存在,也许是网关或者用于留存下来的IP
192.168.200.123(Metasploitable-Linux靶机
在这里插入图片描述

因此,在Host List中将SEEDUbuntu和MetaSploitable的IP分别设置为攻击目标1和攻击目标2:
在这里插入图片描述
随后点击ARP Poisoning进行ARP欺骗
在这里插入图片描述
在这里插入图片描述
点击Connections查看连接,进行SEEDUbuntu和MetaSploitable之间的连接查看
在这里插入图片描述
此时还没有使用SEEDUbuntu进行MetaSploitable的telnet登录,因此列表为空:
在这里插入图片描述
接着,使用SeedUbuntu,通过telnet命令远程连接Metasploitable-Linux靶机:
可以看到Connections连接列表中出现了相关信息,即192.168.200.3通过23号端口对192.168.200.123进行了连接:
在这里插入图片描述
点击这条信息,可以得到更详细的内容:
在这里插入图片描述
甚至能查看输入的账号密码,以及靶机的交互界面:
在这里插入图片描述
攻击成功!
试验结束!

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

  • 问题:一开始,攻击机和靶机不在同一网段,无法连通,这导致后续实验均不可成功实现!
  • 问题解决方案 :通过排查以及参考自己的实验一(第一次作业),发现即使不在同一网段(Vmnet1、Vmnet8),也可以进行连通互ping,只需要打开蜜网网关即可,这是实验一中的内容得到的经验。(当然也可以简单粗暴,直接将所有实验的攻击机和靶机均放入同一网段,例如都在Vmnet1或者Vmnet8

4.学习感悟、思考等

通过本次实验,我学习了TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击这五个实验。实验过程中,我了解了攻击原理,同时排查了网段不同导致出现的问题,对网络攻防以及网络连接的理解进一步加深。

参考资料

  • 20232831 2023-2024-2 《网络攻防实践》第1次作业(未传上网)
  • ChatGPT

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字节算法岗二面,凉凉。。。

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总…

linux + gitee+idea整套配置以及问题详解

目录: 1、安装git 2、git配置 3、git和gitee账户建立安全链接 4、gitee创建仓库 5、idea配置gitee 6、克隆提交代码 1、安装git 使用到github上下载最新版,上传到你的服务器,再进行解压。 这里是我的压缩包。解压命令: cd /usr/g…

Window11系统下,VMware安装Ubuntu 18.04虚拟机

本文主要记录Window11系统,VMware安装Ubuntu 18.04虚拟机,主要包括常见的镜像网站下载、硬盘分区、创建虚拟机和Ubuntu系统安装四部分。 🎡导航小助手🎡 1. Ubuntu镜像下载2.磁盘分区3.创建Ubuntu虚拟机4.Ubuntu系统安装 1. Ubun…

colmap 【Feature matching】特征匹配参数解释

(Windows)Colmap 具体使用教程可参考我的这篇博文 下面只是matching参数解释 Matching这个阶段很重要,匹配方式不同会对最终结果影响很大,要根据实际情况选择合适的匹配方式。下面是各个参数的详细解释。 1.Exhaustive——官方文…

SQL96 返回顾客名称和相关订单号(表的普通联结、内联结inner join..on..)

方法一:普通联结 select cust_name, order_num from Customers C,Orders O where C.cust_id O.cust_id order by cust_name,order_num;方法二:使用内连接 select cust_name,order_num from Customers C inner join Orders O on C.cust_id O.cust_id …

书生浦语训练营2期-第一节课笔记

笔记总结: 了解大模型的发展方向、本质、以及新一代数据清洗过滤技术、从模型到应用的典型流程、获取数据集的网站、不同微调方式的使用场景和训练数据是什么,以及预训练和微调在训练优势、通信/计算调度、显存管理上的区别。 收获: 理清了预训练和微调…

DICE模型教程

原文练级:DICE模型教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247599474&idx6&snbd716d5719ddd8bd6c565daa0f361b72&chksmfa820495cdf58d83360a402cb2a05042e0f13e6d84d96ee36708e4c5ce90fa124ad9a30b9717&token1105644014&…

系统分析师-软件开发模型总结

前言 软件工程模型也称软件开发模型。它是指软件开发全部过程、活动和任务的结构框架,通过该模型能清晰、直观地表达软件开发全过程,明确地规定要完成的主要活动和任务,它奠定了软件项目工作的基础 一、瀑布模型(Waterfall Model…

王道C语言督学营OJ课后习题(课时14)

#include <stdio.h> #include <stdlib.h>typedef char BiElemType; typedef struct BiTNode{BiElemType c;//c 就是书籍上的 datastruct BiTNode *lchild;struct BiTNode *rchild; }BiTNode,*BiTree;//tag 结构体是辅助队列使用的 typedef struct tag{BiTree p;//树…

安卓国内ip代理app,畅游网络

随着移动互联网的普及和快速发展&#xff0c;安卓手机已经成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;由于地理位置、网络限制或其他因素&#xff0c;我们有时需要改变或隐藏自己的IP地址。这时&#xff0c;安卓国内IP代理App便成为了一个重要的工具。虎观代理…

Android TargetSdkVersion 30 安装失败 resources.arsc 需要对齐且不压缩。

公司项目&#xff0c;之前targetSDKVersion一直是29&#xff0c;近期小米平台上架强制要求升到30&#xff0c;但是这个版本在android12上安装失败&#xff0c;我用adb命令安装&#xff0c;报错如下图 adb: failed to install c: Program Files (x86)(0A_knight\MorkSpace \Home…

Jmeter性能综合实战——签到及批量签到

提取性能测试的三个方面&#xff1a;核心、高频、基础功能 签 到 请 求 步 骤 1、准备工作&#xff1a; 签到线程组 n HTTP请求默认值 n HTTP cookie 管理器 n 首页访问请求 n 登录请求 n 查看结果树 n 调试取样器 l HTTP代理服务器 &#xff08;1&#xff09;创建线…

Python基础:标准库 -- pprint (数据美化输出)

1. pprint 库 官方文档 pprint --- 数据美化输出 — Python 3.12.2 文档 pprint — Data pretty printer — Python 3.12.2 documentation 2. 背景 处理JSON文件或复杂的嵌套数据时&#xff0c;使用普通的 print() 函数可能不足以有效地探索数据或调试应用程序。下面通过一…

C#自定义最大化、最小化和关闭按钮

目录 1.资源文件 2.读取资源文件中的图片 3.WindowState属性 4. 示例 用户在制作应用程序时&#xff0c;为了使用户界面更加美观&#xff0c;一般都自己设计窗体的外观&#xff0c;以及窗体的最大化、最小化和关闭按钮。本例通过资源文件来存储窗体的外观&#xff0c;以及最…

计算机网络常见题(持续更新中~)

1 描述一下HTTP和HTTPS的区别 2 Cookie和Session有什么区别 3 如果没有Cookie,Session还能进行身份验证吗&#xff1f; 4 BOI,NIO,AIO分别是什么 5 Netty的线程模型是怎么样的 6 Netty是什么&#xff1f;和Tomcat有什么区别&#xff0c;特点是什么&#xff1f; 7 TCP的三次…

Ipython与Jupyter之间的关系

IPython 和 Jupyter 之间的关系可以从它们的历史和目标中得到很好的解释。IPython&#xff08;Interactive Python&#xff09;最初是由 Fernando Prez 于 2001 年创建的&#xff0c;旨在提升 Python 的交互式计算体验。它提供了一个强大的交互式 Python shell 和一个面向高效计…

android studio忽略文件

右键文件&#xff0c;然后忽略&#xff0c;就不会出现在commit里面了 然后提交忽略文件即可

SpringMvc之映射器HandlerMapping

简介 在springmvc的处理流程中&#xff0c;第一步就是查询请求对应的映射器&#xff0c;然后组装成处理器链处理请求&#xff0c;本文意在梳理该过程 重要实现 HandlerMapping是一个接口&#xff0c;该接口用于通过HttpServletRequest寻找对应的处理器&#xff0c;接口介绍如下…

【管理咨询宝藏59】某大型汽车物流战略咨询报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏59】某大型汽车物流战略咨询报告 【格式】PDF 【关键词】HR调研、商业分析、管理咨询 【核心观点】 - 重新评估和调整商业模式&#xff0c;开拓…

C语言与sqlite3入门

c语言与sqlite3入门 1 sqlite3数据类型2 sqlite3指令3 sqlite3的sql语法3.1 创建表create3.2 删除表drop3.3 插入数据insert into3.4 查询select from3.5 where子句3.6 修改数据update3.7 删除数据delete3.8 排序Order By3.9 分组GROUP BY3.10 约束 4 c语言执行sqlite34.1 下载…