20242802 2023-2024-2《网络攻防实践》第四周作业

20242802 2023-2024-2 《网络攻防实践》第四周作业

1.实验内容与知识点整理

1.#### TCP/IP参考模型

在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为主机到网络层,所以在TCP/IP参考模型中结构层次为四层:

  • 应用层:面向不同的网络应用引入了不同的应用层协议。负责为用户提供各种网络服务和应用。
  • 传输层:要负责端到端的数据传输,它为应用程序提供了可靠的数据传输服务。
  • 网络层:把分组发往目标网络或主机,在不同的网络之间传输数据,主要通过IP协议来实现。
  • 网络接口层:负责定义数据在物理介质上的传输方式,其中也包括了硬件设备等物理介质。

将层次结构和主要协议画图表示如下:

  1. TCP的“三次握手”

    TCP协议中,用于建立链接的三个步骤:

    • 第一次挥手(FIN)• 发起方(客户端):当客户端完成数据发送任务后,会发送一个带有 FIN 标志的TCP报文给服务器。 FIN 标志表示“我这边的数据已经发送完毕,准备关闭连接了”。
    • 第二次挥手(ACK)• 接收方(服务器):服务器收到客户端的 FIN 报文后,会发送一个带有 ACK 标志的TCP报文作为响应。 ACK 标志表示“我收到了你的关闭连接请求,我这边的数据可能还没有发送完,稍等一下”。
    • 第三次挥手(FIN + ACK)• 接收方(服务器):当服务器完成自己的数据发送任务后,也会发送一个带有 FIN 标志的TCP报文给客户端,同时带上 ACK 标志,表示“我这边的数据也发送完了,现在可以关闭连接了”。
  2. ARP缓存欺骗攻击

    攻击机通过发送假的ARP数据包,可以篡改IP地址与MAC地址的映射关系,实现对被靶机的ARP欺骗。

  3. ICMP重定向攻击

    攻击者发送伪装的ICMP重定向消息给目标主机,指示目标主机使用不安全的路由器或网关进行通信。

  4. SYN Flood攻击

    攻击机向目标服务器发送大量的SYN请求,但不进行后续的ACK响应,导致目标服务器的半连接队列被占满,消耗目标服务器的资源,无法正常建立新的TCP连接,从而实现拒绝服务攻击。

  5. TCP RST攻击

    攻击者发送虚假的TCP RST分节给目标主机,强制终止已建立的TCP连接。

  6. TCP会话劫持攻击

    攻击者通过篡改TCP连接中的序列号和确认号,插入自己的数据,从而控制目标设备的TCP连接。

2.实验过程

(1)ARP缓存欺骗攻击

首先配置ARP缓存欺骗攻击的实验环境,将两个靶机Metasploitable-Linux和Win2kServer设置为Vmnet1网段,kali攻击机设置为Vmnet8网段,逐一确定其IP地址和mac地址

Metasploitable-Linux

IP地址-192.168.200.130    MAC地址-00:0C:29:7B:D5:F4  

Win2kServer靶机

IP地址-192.168.200.195    MAC地址-00:0C:29:48:DD:5A

Kali-Linux攻击机

IP地址-192.168.200.5    MAC地址-00:0c:29:cc:98:4e 

seed虚拟机

IP地址-192.168.200.7    MAC地址-00:0C:29:58:48:74

虚拟机名称 IP地址 MAC地址
Metasploitable-Linux靶机 (Vmnet1网段) 192.168.200.130 00:0C:29:7B:D5:F4
Win2kServer靶机(Vmnet1网段) 192.168.200.195 00:0C:29:48:DD:5A
Kali-Linux攻击机(Vmnet8网段) 192.168.200.5 00:0c:29:cc:98:4e
seed(Vmnet8网段) 192.168.200.7 00:0C:29:58:48:74

两个靶机互ping测试连通性

Metasploitable-Linux靶机 ping Win2kServer靶机

Win2kServer靶机 ping Metasploitable-Linux靶机

连通性测试成功,在Metasploitable虚拟机中查看当前ARP表,发现只有Win2kServer靶机的记录

arp-a

现在在kali上进行ARP缓存欺骗攻击,首先安装攻击工具netwox

sudo apt-get install netwox

安装好netwox后,使用命令,伪造一个mac地址为00:0C:29:48:DD:5C 且ip地址为192.168.200.195的数据包

sudo netwox 80 -e 00:0C:29:48:DD:5C 192.168.200.195

Metasploitable-Linux靶机误以为mac地址为00:0C:29:48:DD:5C的就是Win2kServer靶机的mac地址,当前ARP表中对Win2kServer靶机的mac地址已经变为5C,则ARP缓存欺骗攻击成功

并且此时Win2kServer靶机也检测到了异常

(2)ICMP重定向攻击

确定Kali-Linux攻击机和seed虚拟机的IP地址和mac地址

虚拟机名称 IP地址 MAC地址
Kali-Linux攻击机(Vmnet8网段) 192.168.200.5 00:0c:29:cc:98:4e
seed(Vmnet8网段) 192.168.200.7 00:0C:29:58:48:74

在SEEDUbuntu上ping www.baidu.com检查连通性:

在Kali上使用netwox工具进行ICMP重定向攻击

以网关192.168.200.1的名义向数据包192.168.200.7 的源地址发送一个ICMP重定向报文,使得Kali攻击机的IP地址192.168.200.5作为默认路由,使用的代码如下:

sudo netwox 86 -f "host 192.168.200.7" -g 192.168.200.5 -i 192.168.200.1

返回SEED再次ping www.baidu.com,发现已经重定向到192.168.200.5上,ICMP重定向攻击成功!

(3)SYN Flood攻击

确定Kali-Linux攻击机、seed虚拟机和Metasploitable-Linux靶机的IP地址和mac地址

虚拟机名称 IP地址 MAC地址
Kali-Linux攻击机(Vmnet8网段) 192.168.200.5 00:0c:29:cc:98:4e
seed(Vmnet8网段) 192.168.200.7 00:0C:29:58:48:74
Metasploitable-Linux靶机 (Vmnet1网段) 192.168.200.130 00:0C:29:7B:D5:F4

在Seed上使用telnet连接Metasploitable-Linux靶机:

telnet 192.168.200.130

使用Kali攻击机使用netwox工具进行进行SYN Flood攻击

Metasploitable-Linux靶机的telnet端口为23,该攻击主要是消耗靶机的资源,直至服务崩溃,打开kali的wireshark一直收到SYN请求

sudo netwox 76 -i 192.168.200.130 -p 23

表明SYN Flood攻击 攻击成功!

(4)TCP RST攻击

确定Kali-Linux攻击机、seed虚拟机和Metasploitable-Linux靶机的IP地址和mac地址:

虚拟机名称 IP地址 MAC地址
Kali-Linux攻击机(Vmnet8网段) 192.168.200.5 00:0c:29:cc:98:4e
seed(Vmnet8网段) 192.168.200.7 00:0C:29:58:48:74
Metasploitable-Linux靶机 (Vmnet1网段) 192.168.200.130 00:0C:29:7B:D5:F4

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

仍然是在Kali攻击机上使用netwox工具进行攻击:

sudo netwox 78 -i 192.168.200.130

开始攻击后返回SEED虚拟机可以看到telnet连接被中断,并且再次通过telnet命令也无法连接,说明TCP RST攻击成功!

(5)TCP会话劫持攻击

在TCP会话劫持攻击实验中三个虚拟机都使用了桥接模式,首先确定Kali-Linux攻击机、seed虚拟机和Metasploitable-Linux靶机的IP地址和mac地址:

虚拟机名称 IP地址 MAC地址
Metasploitable-Linux靶机 192.168.31.118 00:0C:29:7B:D5:F4
seed 192.168.31.106 00:0C:29:58:48:74
Kali-Linux攻击机 192.168.31.22 00:0c:29:cc:98:4e

Metasploitable-Linux

IP地址-192.168.31.22    MAC地址-00:0c:29:cc:98:4e  

seed虚拟机

IP地址-192.168.31.106    MAC地址-00:0C:29:58:48:74

Kali-Linux攻击机

IP地址-192.168.31.22    MAC地址-00:0c:29:cc:98:4e 

TCP会话劫持攻击中要用到的攻击工具为ettercap

sudo ettercap -G

点击Scan for hosts,进行网段内主机扫描

现在Host List扫描到了以下IP:

其中192.168.31.106seed靶机 是和192.168.31.118是Metasploitable-Linux靶机

点击ARP Poisoning进行ARP欺骗

之后进行Connections连接查看,来查看SEED和MetaSploitable之间的连接

返回SEED通过telnet链接MetaSploitable

此时Connections连接列表中出现了相关信息,即192.168.31.106通过23号端口对192.168.31.118进行了连接:

能查看SEED通过telnet链接MetaSploitable时输入的账号密码msfadmin

证明TCP会话劫持攻击攻击成功!

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

  • 问题1:在刚开始实验时无法,两个靶机无法ping通。

  • 问题1解决方案:发现Metasploitable-Linux之前被设置为静态IP,将其恢复为动态IP ,并将Metasploitable-Linux和Win2kServer两个靶机同时设置为Vmnet1网段则可以Ping通

  • 问题2:使用kali攻击机无法攻击到靶机

  • 问题2解决方案:将蜜网网关打开,则kali可以实行攻击操作。

4.实验总结

通过这次《网络攻防实践》课程的实验,我不仅重新回顾了计算机网络的基础知识,还在实践中加深了对网络攻击技术的理解,收获颇丰。

在实验开始之前,通过老师上课的提问,我发现自己对计算机网络的相关知识已经生疏了。TCP/IP参考模型、ARP协议、ICMP协议、TCP的三次握手等概念虽然曾经学过,但在实际操作中却显得有些模糊。在实验过程中,我也遇到了一些问题,比如靶机之间无法ping通,以及Kali攻击机无法成功攻击靶机。但通过仔细检查网络配置和请教同学,特别是实验一开始靶机无法互ping的问题,尝试了很多种方法后找到了解决方法。

通过实际操作来加深对相关知识的理解。比如在ARP缓存欺骗攻击中,我明白了ARP协议在地址解析过程中的重要性,以及攻击者如何利用伪造的ARP响应来篡改IP和MAC地址的映射关系。让我认识到,网络通信的安全性在很大程度上依赖于协议的正确实现和防护机制。

posted @ 2025-03-25 22:30  Anton_buer  阅读(85)  评论(0)    收藏  举报