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

1 实验内容

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

2 知识梳理

2.1 攻击原理

  1. ARP缓存欺骗攻击:攻击者伪造ARP响应包,使得靶机将其他主机ip对应的MAC地址错误地映射到攻击机MAC,从而将发给其他主机的数据包发送给攻击机,达到窃取信息的目的

  2. ICMP重定向攻击:攻击者伪造ICMP重定向报文,使得靶机修改本地路由表,通过网关的数据包被转发到攻击机,从而实现流量监听

  3. SYN Flood攻击:攻击者伪造大量的SYN数据包发送到攻击服务器,其中的ip地址为伪造ip,服务器返回SYN+ACK数据包得不到回应,从而占用并耗尽链接资源,使得正常用户无法正常使用服务

  4. TCP RST攻击:攻击者伪造符合序列号的RST包,发送给一方,即可切断TCP会话

  5. TCP会话劫持攻击:攻击者通过监听目标 TCP 会话,获取 IP、端口、当前序列号等信息,冒充合法通信方发送数据

其中1 为链路层攻击,2 为网络层攻击,3 4 5 为传输层攻击

2.2 攻击工具

  1. netwox:开源、跨平台、命令行驱动的网络工具集,内置 220+ 个工具模块,专注于数据包伪造,是渗透测试系统的标配工具

  2. Ettercap:开源、多功能网络嗅探与中间人攻击(MITM)工具,自动完成欺骗 → 转发 → 嗅探 → 解析 → 提取的MITM全流程

3 实验过程

3.1 实验环境

本次实验总共使用了两套虚拟机环境:

  1. VirtualBox环境:
主机 ip
seed_ubuntu 192.168.8.4
Kali 192.168.8.5
Metasploitable_ubuntu 192.168.8.6
  1. VMWare环境:
主机 ip
Kali 192.168.8.3
Metasploitable_linux 192.168.8.6
ubuntu 192.168.8.7

3.2 ARP缓存欺骗攻击

使用VirtualBox实验环境

首先通过ifconfig查看三台主机的MAC地址,如下图所示

主机 MAC地址
seed_ubuntu 02:42:fd:cf:88:cd
Kali 02:42:ee:d4:el:74
Metasploitable_ubuntu 08:00:27:d5:20:3c

在Kali中arp -a查看主机arp缓存,此时没有Metasploitable_ubuntu的MAC映射

接着通过ping 192.168.8.6得到Metasploitable_ubuntu的MAC映射

介绍一个抓包ping的发现,ICMP报文数据部分的40字节是十六进制10-37的

接着查看Kali缓存,发现etasploitable_ubuntu的MAC映射

我们使用netwox进行arp欺骗,使得seed_ubuntu将Metasploitable_ubuntu的MAC地址错误映射为Kali的MAC,kali中执行下面命令:

sudo netwox 80 -i 192.168.8.6 -e 02:42:ee:d4:el:74

arp欺骗使用的是netwox的80号工具,-i参数为Metasploitable_ubuntu的ip,-e参数为Kali的MAC

抓包,得知其工作原理是广播ARP响应包

接着在seed_ubuntu中先ping一下Metasploitable_ubuntu,然后查看arp缓存

发现Metasploitable_ubuntu的MAC错误映射为Kali的MAC,arp攻击成功!

3.3 ICMP重定向攻击

VirtualBoxNAT网络环境无法实现ICMP重定向攻击,因此这里使用VMWare实验环境

首先在Metasploitable_linux通过route -n查看本地路由表

可以看到如果目的ip在局域网内则直接发送,否则将发送给网关192.168.8.1

接着在kali中使用netwox进行ICMP重定向攻击

netwox 86 -f "host 192.168.8.6" -g 192.168.8.3 -i 192.168.8.1

这意味着kali将伪造来自网关192.168.8.1的ICMP重定向包,将靶机192.168.8.6本地路由重定向到192.168.8.3

接着在Metasploitable_linux中ping百度,发现路由重定向

3.4 SYN Flood攻击

使用VirtualBox实验环境

kali中先使用nmap扫描靶机Metasploitable_ubuntu,得知各个开放端口运行的服务

我们这里针对其开放的80端口http服务进行SYN Flood攻击

首先在seed_ubuntu中访问靶机的http服务,可以正常使用

接着在kali中运行

netwox 76 -i 192.168.8.6 -p 80

netwox的76号工具包为SYN Flood攻击,-i指定受害者ip,-p指定攻击端口

执行后可以看到攻击机向靶机发送了大量的SYN请求包,且源ip是攻击者伪造的

再次访问http服务,发现已经无法正常访问

3.5 TCP RST攻击

VirtualBoxNAT网络环境无法实现ICMP重定向攻击,因此这里使用VMWare实验环境

首先在ubuntu中telnet访问Metasploitable_linux,可以正常连接

接着在kali中执行

netwox 78 -i 192.168.8.6

netwox的78号工具为 TCP RST攻击,-i指定受害者ip

执行后再次在ubuntu中telnet访问Metasploitable_linux,发现连接异常关闭

3.6 TCP会话劫持攻击

使用VirtualBox实验环境

我们使用ettercap工具完成TCP会话劫持的中间人攻击,流程是:

探测活跃主机->ARP欺骗->监听远程连接

首先在kali中打开ettercap图形化界面

sudo ettercap -G

点击✅进入攻击界面

按照图示操作扫描网段中活跃的主机

查看活跃的主机

将seed_ubuntu(192.168.8.4)和Metasploitable_ubuntu(192.168.8.6)分别添加为Target1、Target2

对双方进行ARP欺骗

在View界面选择Connections

这时在seed_ubuntu中telnet访问和Metasploitable_ubuntu,可以监听连接数据

甚至得到连接telnet的用户名和密码

4 遇到的问题及解决方法

在上文所述的VirtualBox实验环境中,ICMP重定向攻击以及TCP RST攻击失效

当时分析原因可能是VirtualBox网络环境与VMWare不同或者新版本Metasploitable_ubuntu有效地防止此类攻击

于是采用上文所述的VMWare实验环境重新进行实验,这时使用的靶机Metasploitable_linux版本很旧,于是攻击成功

后来尝试将VMWare实验环境中的新版本ubuntu作为靶机进行ICMP重定向攻击发现仍然能攻击成功于是排除了靶机版本过新导致攻击失败的原因

由此得出应当是VirtualBox网络环境的特殊性导致攻击失败

5 实践感悟

本次网络攻防实验我们系统学习了常用的TCP/IP协议网络攻击方法,深入了解了各类攻击的基本原理,明白了许多经典攻击都是利用协议设计之初的漏洞,实现对网络的入侵与干扰。

实验过程中,我们接触并使用了netwox和ettercap两款工具,深刻感受到它们的强大功能------原本复杂的网络攻击,通过这些工具的操作变得十分简便,只需简单配置参数,就能完成常规的攻击操作。同时,我们借助wireshark工具进行抓包分析,清晰看到了各类攻击所伪造的数据包内容,从数据包的结构、字段设置中,进一步拆解了攻击原理,也理解了攻击得以成功的关键所在。

这些实验中用到的攻击方式在网络环境中十分常见,它们对网络安全的威胁极大,可能导致网络瘫痪、数据泄露等严重后果,这也让我深刻认识到网络安全防护的重要性与紧迫性。

此次实验不仅提升了我的实操能力,更让我树立了"防患于未然"的网络安全意识。未来,我会更加重视网络安全知识的学习,既要了解攻击原理,也要掌握防护方法,守护网络环境的安全稳定。