20241904 2024-2025-2《网络攻防实践》实验四

一、实践内容

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

1、网络层协议攻击

常见的包括:IP源地址欺骗、ARP欺骗和ICMP路由重定向攻击。
(1)IP源地址欺骗:是指攻击者伪造具有虚假源地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。
应用场景:IP源地址欺骗常应用于拒绝服务攻击、网络扫描、基于IP地址的身份认证机制等。
防范措施:目标设备采取更强有力的认证措施,不仅仅根据源IP就信任来访者,更多的需要强口令等认证手段;采用健壮的交互协议以提高伪装源IP的门槛;避免采用基于IP地址的信任策略、在路由器和网关上实施包过滤等。
(2)ARP欺骗:攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的。
应用场景:局域网嗅探、中间人攻击、恶意代码等。
防范措施:静态绑定关键主机的IP地址与MAC地址映射关系、使用相应的ARP防范工具、使用VLAN虚拟子网细分网络拓扑、加密传输数据以降低ARP欺骗攻击的危害后果等。
(3)ICMP重定向攻击:攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击。
应用场景:ICMP报文类型分为差错报告类和控制类。ICMP重定向攻击一般会和IP源地址欺骗技术结合实施。
防范措施:根据类型过滤一些ICMP数据包、设置防火墙过滤、对于ICMP重定向报文判断是不是来自本地路由器等。

2、传输层协议攻击

主要协议TCP和UDP也存在很多种不同攻击方式,有TCP SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击等。
拒绝服务攻击的目的是使服务器不能够为正常访问的用户提供服务。
(1)TCP SYN Flood攻击
也称SYN洪泛攻击,是指利用TCP三次握手协议缺陷向目标主机发送大量伪造源地址的SYN连接请求消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。防范SYN Flood攻击的措施有SYN-Cookie技术、防火墙地址状态监控技术等。
(2)TCP RST攻击
通过发送TCP的复位(RST)数据包来中断或重置现有的TCP连接。这种攻击利用了TCP协议中的漏洞,例如伪造源IP地址或序列号,以欺骗通信的一方认为连接已经结束,从而终止连接。RST攻击可以导致目标系统中断现有连接,造成服务不可用或数据丢失。
(3)TCP会话劫持攻击
是指在通信双方已建立的TCP会话连接的基础上假冒其中一方的身份与另外一方进行通信,从而达到劫持双方通讯信息的目的。

二、实践过程

1、ARP缓存欺骗攻击

本次实验使用三台机器,kali作为攻击机,其他两台机器作为正常通信的机器(靶机1:SEEDUbuntu,靶机2:Metasploitable_ubuntu)。在开始具体攻击实验前,先将网络适配器都设置成VMnet8(NAT模式)并查看三台虚拟机的IP地址和MAC地址。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主机 IP地址 MAC地址
Kali 192.168.200.2 00:0c:29:c0:58:36
SEEDUbuntu 192.168.200.7 00:0c:29:0f:be:83
Metasploitable_ubuntu 192.168.200.125 00:0c:29:5d:cf:ac
  • 在SEEDUbuntu中输入指令 ping 192.168.200.125 ,即靶机 Metasploitable_ubuntu的IP,得到arp缓存表;
    在这里插入图片描述
  • 使用 arp -a 查看arp缓存表,可以从下图中看到靶机Metasploitable_ubuntu的IP地址和MAC地址是对应的;
    在这里插入图片描述
  • 在Kali上执行指令 netwox 80 -e 00:0c:29:c0:58:36 -i 192.168.200.125(其中00:0c:29:c0:58:36是kali攻击机的MAC地址;192.168.200.125是靶机Metasploitable_ubuntu的IP地址;80是指netwox的80号工具),执行后将在局域网内广播这条命令,使得主机SEEDUbuntu收到IP(Metasploitable_ubuntu)/MAC(Kali)的映射;
    在这里插入图片描述
  • 在SEEDUbuntu中再次使用 arp -a 查看ARP映射,可以看到欺骗成功;
    在这里插入图片描述
  • 在Kali上使用Wireshark进行捕获。
    在这里插入图片描述

2、ICMP重定向攻击

本次实验需要两台主机(处于同一网段),选择攻击机kali、靶机SEEDUbuntu,查看两台虚拟机的IP地址和MAC地址。
在这里插入图片描述
在这里插入图片描述

主机 IP地址 MAC地址
Kali 192.168.134.128 00:0c:29:c0:58:36
SEEDUbuntu 192.168.134.129 00:0c:29:0f:be:83
  • 在SEEDUbuntu中输入route -n,查看到网关为192.168.134.2;
    在这里插入图片描述
  • 在终端 ping baidu.com,SEEDUbuntu可以直接访问外网;
    在这里插入图片描述
  • 在Kali主机上执行命令 netwox 86 -f “host 192.168.134.129” -g 192.168.134.128 -i 192.168.134.1 (其中192.168.134.129为SEEDUbuntu的IP地址;192.168.134.128为kali的IP地址;嗅探到攻击机Ubuntu的数据包时,以192.168.200.1的名义发送ICMP重定向报文,使Kali成为默认路由);
    在这里插入图片描述
  • 可以看到其访问百度的数据包已经被重定向到Kali,数据包来源变为192.168.134.1;
    在这里插入图片描述

3、SYN Flood攻击

Metasploitable_ubuntu的IP地址:192.168.134.130
在这里插入图片描述
本步骤选择利用SEEDUbuntu向靶机Metasploitable_ubuntu发起telnet服务访问,用Kali攻击机攻击靶机的telnet服务端口,并用Wireshark查看。

  • 首先使用SEEDUbuntu向Metasploitable_ubuntu发起登陆 telnet 192.168.134.130 (Metasploitable_ubuntu的IP地址),输入Metasploitable2-Linux的用户名及密码:msfadmin;
    在这里插入图片描述

  • 在Kali上利用netwox的76号工具对靶机的23号端口进行SYN Flood攻击 netwox 76 -i 192.168.134.130 -p 23;
    在这里插入图片描述

  • 在Kali中用Wireshark捕包,可以看到攻击机向靶机发送了大量的虚假IP发出的SYN连接请求
    在这里插入图片描述

4、TCP RST攻击

本步骤选择利用SEEDUbuntu向靶机Metasploitable_ubuntu发起telnet服务访问,用Kali攻击机对靶机发起TCP RST攻击。

  • 首先使用SEEDUbuntu向Metasploitable_ubuntu发起登陆 telnet 192.168.134.130 (Metasploitable_ubuntu的IP地址),输入Metasploitable2-Linux的用户名及密码:msfadmin;
    在这里插入图片描述

  • 在Kali上利用netwox的78号工具对靶机进行TCP RST攻击 netwox 78 -i 192.168.134.130;
    在这里插入图片描述

  • 回到刚才SEEDUbuntu的登陆界面,在SEEDUbuntu中再次输入 telnet 192.168.134.130 访问Metasploitable_ubuntu,发现连接被强制关闭。
    在这里插入图片描述

5、TCP会话劫持攻击

主机 IP地址 MAC地址
Kali 192.168.200.4 00:0c:29:c0:58:36
SEEDUbuntu 192.168.200.2 00:0c:29:0f:be:83
Metasploitable_ubuntu 192.168.200.125 00:0c:29:5d:cf:ac

本步骤使用ettercap工具,在kali中输入ettercap -G打开图形化界面进行操作,并点击右上角对号开始。
在这里插入图片描述

  • 点击Hosts - Scan for hosts开始扫描;
    在这里插入图片描述

  • 再点击Hosts - Hosts list查看列表;
    在这里插入图片描述

  • 将SEEDUbuntu设置为目标1;
    在这里插入图片描述

  • 将Metasploitable_ubuntu设置为目标2;
    在这里插入图片描述

  • 点击MITM Menu - ARP poisoning,然后点击OK;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 点击View - Connections查看数据。
    在这里插入图片描述

  • 使用SEEDUbuntu向Metasploitable_ubuntu发起登陆 telnet 192.168.200.125 (Metasploitable_ubuntu的IP地址),输入Metasploitable2-Linux的用户名及密码:msfadmin;
    在这里插入图片描述

  • 在Connections中可以看到建立的telnet连接;
    在这里插入图片描述

  • 进一步点击后可以看到登录使用的用户名、密码和命令。
    在这里插入图片描述

三、学习中遇到的问题及解决

  • 问题1:在靶机SEEDUbuntu端ping靶机Metasploitable_ubuntu端的IP地址一直ping不通;
  • 问题1解决方案:这里将靶机的IP地址改成了192.168.200.125,因为原来的192.168.200.132一直ping不通。在这里插入图片描述
  • 问题2:在kali上安装netwox失败;在这里插入图片描述
  • 问题2解决方案:将所有虚拟机挂起,在虚拟网络编辑器中将VMnet8还原默认设置,然后重新安装,安装成功。在这里插入图片描述
    在这里插入图片描述
  • 问题3:在Ettercap中的Connections无法查看到数据,查看到SEEDUbuntu和Metasploitable_ubuntu的IP地址一样;在这里插入图片描述
  • 问题3解决方案:发现是安装netwox时将VMnet8还原默认设置导致的,故将VMnet8的网段按照实验一的配置重新进行设置。

四、实践总结

在本次实践中,通过模拟ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood 攻击、SYN RST 攻击、TCP会话劫持攻击,深入研究了它们的攻击原理和过程。这几次实验不仅使我能够更加自如地去应对实验中出现的各种问题,还让我对网络安全问题有了更为深刻的认识,进一步强化了我对网络安全的重视。

posted @ 2025-03-20 11:03  lwl*  阅读(199)  评论(0)    收藏  举报