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.mzph.cn/news/779301.shtml

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

相关文章

设计模式---单例模式

目录 一、五种单例模式的实现方式 1.饿汉模式 2.饿汉枚举类型 3.懒汉式 4.双检锁懒汉式 5.内部类懒汉式 二、JDK 中单例的体现 一、五种单例模式的实现方式 1.饿汉模式 public class Singleton1 implements Serializable {private Singleton1() {if (INSTANCE ! null) {thro…

R语言使用dietaryindex包计算NHANES数据多种营养指数(2)

健康饮食指数 (HEI) 是评估一组食物是否符合美国人膳食指南 (DGA) 的指标。Dietindex包提供用户友好的简化方法,将饮食摄入数据标准化为基于指数的饮食模式,从而能够评估流行病学和临床研究中对这些模式的遵守情况,从而促进精准营养。 该软件…

C/C++中重载函数取地址的方法

目录 1.现象 2.指定参数取函数地址 3.利用Qt的类QOverload 1.现象 函数重载在C/C编码中是非常常见的,但是我们在std::bind或std::function绑定函数地址的时候,直接取地址,程序编译就会报错,示例如下: class CFunc1…

【C++】map set

文章目录 1. 关联式容器2. 键值对3. 树形结构的关联式容器3.1 set3.1.1 set 的介绍3.1.2 set 的使用 3.2 map3.2.1 map 的介绍3.2.2 map 的使用 3.3 multiset3.3.1 multuset 的介绍3.3.2 multiset 的使用 3.4 multimap3.4.1 multimap 的介绍3.4.2 multimap 的使用 1. 关联式容器…

Docker安装xxl-job并整合到SpringBoot项目

1. 创建数据库 执行如下SQL语句创建相关表 CREATE database if NOT EXISTS xxl_job default character set utf8mb4 collate utf8mb4_general_ci; use xxl_job;SET NAMES utf8mb4; CREATE TABLE xxl_job_info (id int(11) NOT NULL AUTO_INCREMENT,job_group int(11) NOT NUL…

深入Python元编程:从基础到实践

一、引言 Python的元编程是一种强大的技术,允许程序员在运行时修改或扩展程序的行为。通过元编程,你可以控制类的创建、修改类的行为、操作函数和类等对象,甚至创建新的语法结构。这篇文章将引导你走进Python元编程的世界,从基础…

PyCharm代码一键格式化

前言 每次写完代码,就看见很多警告,乍一看还以为我又写了什么bug,原来是提示,啊放心了。可是我可见不得这些东西,因为代码里都是红红的下划线,好像在圈圈点点。。。 代码格式化 于是利用PyCharm里的快捷…

数据仓库——维度表特性

企业信息化工厂 数据集市中的一致性,由于企业信息化工厂的数据集市是从集成仓库中获得信息的,因此至少从维度建模的角度来看,一致性维护的问题减少了。尽管合并不同数据源的问题依然在,但是负担主要在设计者身上。尽管压力降低了…

【Go】六、函数

文章目录 1、函数的定义2、内存分析3、注意点4、函数数据类型5、自定义数据类型(起别名)6、支持对返回值命名 1、函数的定义 语法: func 函数名(形参列表)(返回值类型列表){执行语句..return 返回值列…

mac系统使用经验

mac安装brew brew是macos下的一个包管理工具,类似与centos的yum,ubuntu的apt-get等。 自动脚本(全部国内地址)(在Mac os终端中复制粘贴回车下面这句话) /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/H…

PHP实现单列内容快速查重与去重

应用场景:excel一列内容比如身份证号&#xff0c;可能有重复的&#xff0c; 则用此工具快速查询那些重复及显示去重后内容。 使用&#xff1a;粘贴一列数据&#xff0c;然后提交发送。 <?php $tm "单列查重去重(粘贴Excel中1列内容查重)!";function tipx($str…

无人驾驶矿卡整体解决方案(5g物联网通信方案)

​无人驾驶矿卡是智能矿山的重要组成部分,通过远程操控替代人工驾驶,可以显著提高采矿效率和作业安全性。但要实现无人驾驶矿卡,需要依赖于可靠高效的通信网络,来传输现场视频、控制指令和运行数据。以下是某大型煤矿在部署无人驾驶矿卡时,所采用的星创易联物联网整体解决方案。…

关于gson解析把int类型转成浮点型的问题

在进行开发的时候&#xff0c;通过gson进行数据解析的时候会把数值型转成浮点类型&#xff0c;造成数据处理错误的问题&#xff0c;网上关于解决这个问题的方法一大堆&#xff0c;但是 没有几个是能够解决这个问题的。 首先在获取到json数据时&#xff0c;你看到的是整数类型都…

基于springboot实现校园周边美食探索及分享平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现园周边美食探索及分享平台系统演示 摘要 美食一直是与人们日常生活息息相关的产业。传统的电话订餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起&#xff0c;互联网日益成为提供信息的最佳俱渠道和逐步走向传统的流通领域&#xff0c;传统的…

网络服务第三次作业

综合练习&#xff1a;请给openlab搭建web网站 网站需求&#xff1a; 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料 和缴费网站&#xff0c;基于&#xff0c;www.openlab.com/data网站访问…

Leetcode 1143:最长公共子序列

Leetcode原题 Leetcode 1143:最长公共子序列 题目标签 字符串 | 动态规划 题目描述 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。一个字符串的 子序列 是指这样一个新的字符串&…

Unity 镜头动画

在Unity中&#xff0c;新建摄像机并用Animation组件去记录和控制视角&#xff0c;实现镜头动画的过程主要包括以下几个步骤&#xff1a; 新建摄像机 创建摄像机&#xff1a; 打开Unity项目&#xff0c;在Hierarchy视窗中右键点击&#xff0c;选择GameObject -> Camera来创…

暴力枚举--烤鸡

题目背景 猪猪 Hanke 得到了一只鸡。 题目描述 猪猪 Hanke 特别喜欢吃烤鸡&#xff08;本是同畜牲&#xff0c;相煎何太急&#xff01;&#xff09;Hanke 吃鸡很特别&#xff0c;为什么特别呢&#xff1f;因为他有 10 种配料&#xff08;芥末、孜然等&#xff09;&#xff0…

ruoyi使用笔记

1.限流处理 RateLimiter PostMapping("/createOrder") ApiOperation("创建充值订单") RateLimiter(key CacheConstants.REPEAT_SUBMIT_KEY,time 10,count 1,limitType LimitType.IP) public R createOrder(RequestBody Form form) {//业务处理return …

YOLOV8逐步分解(2)_DetectionTrainer类初始化过程

接上篇文章yolov8逐步分解(1)--默认参数&超参配置文件加载继续讲解。 1. 默认配置文件加载完成后&#xff0c;创建对象trainer时&#xff0c;需要从默认配置中获取类DetectionTrainer初始化所需的参数args&#xff0c;如下所示 def train(cfgDEFAULT_CFG, use_pythonFalse…