20242924 2024-2025-2 《网络攻防实践》实践四报告

news/2025/3/26 11:16:40/文章来源:https://www.cnblogs.com/Swannn0/p/18793410

20242924 2024-2025-2 《网络攻防实践》实践4报告

1.实践内容

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

1.1 ARP缓存欺骗攻击

ARP(Address Resolution Protocol):即地址解析协议,是一种将IP地址转化成物理地址的协议。不管网络层使用什么协议,在网络链路上传送数据帧时,最终还是必须使用硬件地址的。
ARP欺骗原理则是通过发送欺骗性的ARP数据包致使接收者收到数据包后更新其ARP缓存表,从而建立错误的IP地址与MAC地址的对应关系,使得源主机发送数据时不能发往正确的接收者。

1.2 ICMP重定向攻击

ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来更新自己的路由表。由于缺乏必要的合法性检查,如果一个黑客想要被攻击的主机修改它的路由表,黑客就会发送ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。

1.3 SYN Flood攻击

SYN Flood攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文将永远发送不到目的地,那么被攻击端在等待关闭这个连接的过程中消耗了资源,如果有成千上万的这种连接,主机资源将被耗尽,从而达到攻击的目的

1.4 SYN Rst攻击

RST攻击也称伪造TCP重置报文攻击,它通过更改TCP协议头的标志位中的“reset”比特位(0变1),来关闭掉一个TCP会话连接。

1.5 TCP会话劫持攻击

TCP会话劫持是劫持通信双方已建立的TCP会话连接,再假冒其中一方的身份,与另一方进行进一步通信,这样攻击方就可以躲避一些身份认证。

2.实践过程

2.1 ARP缓存欺骗攻击

ARP缓存欺骗攻击实验环境
首先这里需要三台机器,选择kali作为攻击机,其他两台机器作为正常通信的机器(靶机1:Linux MetaSploitable,靶机2:seed) 。
通过查询,各攻击机和靶机的ip地址和mac地址如表格所示:

虚拟机名称 IP 地址 MAC 地址
Kali 192.168.200.2 80:0c:59:00:04:08
MetasploitableUbuntu 192.168.200.125 00:10:c2:91:25:94:a9
SEED 192.168.200.17 00:0c:29:32:55:27

de
de
de
使用靶机seed ping MetasploitableUbuntu
de
de
通过arp -a命令获得MetasploitableUbuntu未被攻击时的MAC地址,如下图所示
de
在kali机上执行下面的命令,执行后会在局域网内广播这条命令
sudo netwox 80 -e 00:0c:29:32:55:27 -i 192.168.200.17
de
再次执行arp -a ,发现mac地址发生改变,欺骗成功。
de

2.2 ICMP重定向攻击

选择kali和seedubuntu,ip地址分别为192.168.200.2和192.168.200.17

虚拟机名称 IP 地址 MAC 地址
Kali 192.168.200.2 80:0c:59:00:04:08
SEED 192.168.200.17 00:0c:29:32:55:27

在seed中使用route -n查看网关地址,为192.168.200.1
de

在seed中ping百度
de
在攻击机Kali上使用工具 netwox 伪造重定向数据包,命令为 netwox 86 -f "host 192.168.200.17" -g 192.168.200.2 -i 192.168.200.1 ,嗅探链路中所有来自主机192.168.200.17的TCP数据包,并且以网关192.168.200.1的名义向主机192.168.200.17发送ICMP重定向包,重定向以kali的IP地址192.168.200.2作为网关,如下图所示
de
嗅探到的数据包如下:
de
在SEED虚拟机上再次ping baidu.com,发现已经重定向到192.168.200.2上,则ICMP重定向攻击成功,路由的下一跳地址被修改为了192.168.200.2。
de

2.3 SYN Flood攻击

以下为此次攻击所使用的虚拟机IP信息:

虚拟机名称 IP 地址 MAC 地址
Kali 192.168.200.2 80:0c:59:00:04:08
MetasploitableUbuntu 192.168.200.125 00:10:c2:91:25:94:a9
SEED 192.168.200.17 00:0c:29:32:55:27

通过netwox的76号工具对192.168.200.17的23号端口进行SYN Flood攻击
netwox 76 -i 192.168.200.17 -p 23
de
打开kali的wireshark进行抓包,Kali正在向seed(192.168.200.17)的23号端口发送SYN请求。实现SYN Flood攻击
de

2.4 SYN Rst攻击

以下为此次攻击所使用的虚拟机IP信息:

虚拟机名称 IP 地址 MAC 地址
Kali 192.168.200.2 80:0c:59:00:04:08
MetasploitableUbuntu 192.168.200.18 ((更换网络后,ip地址发生变化) 00:10:c2:91:25:94:1a9
SEED 192.168.200.17 00:0c:29:32:55:27

de
首先在SEEDUbuntu主机上使用TELNET服务登录靶机MetasploitableUbuntu,登录成功:
telnet 192.168.200.125
de
在Kali上利用netwox的78号工具对靶机进行TCP RST攻击
netwox 78 -i 192.168.134.125
de
此时再次在SEEDUbuntu主机上使用TELNET服务登录靶机,显示连接已被外部主机中断:
de
使用wireshark在此过程中捕获的数据包如下,可以发现RST数据包,成功实现SYN Rst攻击
de

2.5 TCP会话劫持攻击

以下为此次攻击所使用的虚拟机IP信息:
kali:192.168.200.2
MetasploitableUbuntu 192.168.200.18
seedUbuntu 192.168.200.17

首先在Kali上使用命令 ettercap -G,通过右上角勾号开始嗅探,选择hosts,并且扫描主机。
de
将扫描到的SEEDUbuntu和MetasploitableUbuntu分别作为Target1 和 Target2
de
接下来选择劫持方式为ARP欺骗劫持,通过ettercap menu->view->connections查看连接
de
选择ok
de
de
在SEEDUbuntu上使用TELNET服务登录靶机MetasploitableUbuntu,登录成功:
de
此时在kali上查看所嗅探到的链接:
鼠标双击查看该链接的数据,从中可以看到该会话所包含的内容,用户名及密码
de

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

  • 问题1:虚拟机之间无法ping通
    问题1 解决方案:修改网络连接模式为VMnet8,把Meta的ip地址从192.168.200.130改为192.168.200.125
  • 问题2:在进行SYN Rst攻击时,telnet服务总是失败
    问题2 解决方案:一开始我以为是没有成功安装telnet服务,后来经过检查发现更换网络后meta的ip地址发生了改变,修改ip地址执行命令后成功实现了telnet服务。

4.实践总结

通过本次实验,我对ARP欺骗攻击、ICMP重定向攻击、SYN FLOOD攻击和TCP RST攻击以及TCP会话劫持攻击等网络攻击方式的理论和实践都有了一个更深入的了解与掌握,丰富了网络攻防的技能。但同时我在过程中虽然对理论知识有了一个大概的掌握,但是真正动手实践后还是发现了很多潜在的问题,这些问题通过询问同学帮助以及网络搜索得到了解决,对于网络攻防时间我还需更进一步的努力。

参考资料

  • 《网络攻防技术与实践》课本

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

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

相关文章

TCPing:用于测试禁ping设备的 TCP 连接的可达性

场景: 当设备被禁止 icmp 协议通过时,可以使用 tcp 来测试网络的连通性以及延迟TCPing tcping 是一个类似于ping 的工具,但它用于测试 TCP 连接的可达性,而不仅仅是 ICMP(传统的 ping)连接。它通过尝试与远程主机上的指定端口建立 TCP 连接,来判断目标主机的端口是否开放…

Go打包dll

1. goland 编写 代码package main/* #include <stdlib.h> */ import "C"//export Add func Add(a, b int) int {return a + b }//export Greet func Greet(v *C.char) *C.char {name := C.GoString(v)return C.CString("Hello from !" + name) } //e…

SpringSecurity5(11-跨域配置)

Spring Security跨域配置通过在WebSecurityConfigurerAdapter中自定义CorsConfiguration实现。可以配置允许的请求来源、请求方法、请求头等,以确保前端与后端之间的安全通信。结合@CrossOrigin注解或CorsFilter进行灵活配置,保障不同源的资源访问权限控制和数据安全。Spring…

AI大模型危机-多维对抗时代的网络安全与隐私困局

文章学习笔记:AI大模型危机-多维对抗时代的网络安全与隐私困局AI发展引发的安全风险与日俱增,加剧了网络安全形式的复杂性。本文剖析了大模型全生命周期安全威胁图谱,揭示数据资源枯竭、隐私泄露、监管滞后等风险问题。 AI大模型驱动网络安全风险”多维裂变“ AI大模型的发展…

CB2401是一款高性能、低功耗可完美替代RFX2401C/AT2401C

CB2401是一款高性能、低功耗的2.4GHz射频前端集成电路(RFIC),专为蓝牙、Zigbee和2.4GHz专有协议无线应用设计。该芯片可完美替代RFX2401C和AT2401C,提供更优的性能和更低的功耗。 主要技术参数核心优势 更高发射功率:+22dBm输出功率,比竞品高出2dB,通信距离更远 更低功耗:…

CH341 Linux驱动 设备驱动连接后又自动关闭

1.uname -r 查看linux版本号2.选择合适内核下的驱动 https://elixir.bootlin.com/linux/v6.8/source/drivers/usb/serial/ch341.c 3.make & make install 4.发现/dev下没有ttyUSB0设备 5.dmesg 发现问题 6043.015612] usb 1-4.2: ch341-uart converter now attached to tty…

会计学-现金流表(三)

介绍 什么是现金流量表?:就是反映你当前现金状况的一个表。 由四个部分构成:期初现金 + 本期流入现金 - 本期流出现金 = 期末现金一个企业或者一个家庭很多时候,即使是落入资不抵债的局面,也未必就会陷入破产,只要他的现金流可以一直维持日常运转,就可以不需要被迫去变卖…

会计学-资产负债表(二)

介绍 什么是资产负债表?:反映的是一家公司或者是一个家庭在某一时刻体量的表。 公式是:资产 = 负债 + 所有者权益。 资产负债表分成左右两栏,左边是资产,右边是负债和权益。 资产表示你的家底有多厚,负债和权益表示这些家底是从哪里来的。会计学上的资产负债表比较复杂的…

王炸!Kafka 4.0 重磅发布,Java 8 和 Zookeeper 彻底被抛弃了,一个时代结束了!

大家好,我是R哥。 Kafka 4.0 终于来了!这次更新可不只是常规的版本优化,而是一次重大架构调整,尤其是不再支持 Java 8,彻底移除了 Zookeeper,正式启用 KRaft 模式,让 Kafka 变得更加独立、高效。 除了这个重磅更新外,Kafka 4.0 还砍掉了一些历史包袱,还带来几个重磅新…

会计学-开篇(一)

介绍 是不是觉得会计学极其枯燥,死板,无趣?因为会计准则本身就是人为设定的游戏规则,整个学习过程感觉就是一直在背诵各种条条框框,完全没有创造性。相比之下,不管是数学,编程,物理学,生物学,投资学,都显得很有意思,这些学科都是帮助我们通向创造。而会计学似乎只会…

会计学-开篇

介绍 是不是觉得会计学极其枯燥,死板,无趣?因为会计准则本身就是人为设定的游戏规则,整个学习过程感觉就是一直在背诵各种条条框框,完全没有创造性。相比之下,不管是数学,编程,物理学,生物学,投资学,都显得很有意思,这些学科都是帮助我们通向创造。而会计学似乎只会…