20252808 2025-2026-2 《网络攻防实践》第四次作业
20252808 2025-2026-2 《网络攻防实践》第四次作业
一. 实验内容
1.1 实验内容概述
本次实验主要包含了以下内容:
在网络攻防实验环境中完成TCP /IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
1.2 实验相关知识概述
netwox
netwox是一款功能强大的网络工具集,主要用于网络安全测试、网络故障排查等,在网络安全领域具有广泛的应用。
主要功能和用途
① 网络测试:可以进行网络连通性测试、端口扫描、路由跟踪等操作。例如,你可以使用特定的模块来检测目标主机是否可达,开放了哪些端口,以及数据包的传输路径等。
② 协议分析:对各种网络协议进行分析和测试,如 ARP、ICMP、TCP、UDP 等。可以模拟这些协议的数据包,用于测试网络设备对协议的处理能力和安全性。
③ 攻击模拟:用于模拟各种网络攻击,如 ARP 缓存欺骗攻击、ICMP 重定向攻击、SYN Flood 攻击等。在安全测试中,通过模拟攻击来发现网络中的安全漏洞。
④ 数据嗅探:捕获和分析网络中的数据包,查看数据包的内容、源地址、目的地址等信息,帮助排查网络故障或检测异常流量。
常用模块及示例
netwox包含多个模块,每个模块对应不同的功能,以下是一些常用模块及使用示例:
① ARP 缓存欺骗攻击(模块 80):
sudo netwox 80 -e 攻击者MAC地址 -i 目标IP地址 -a 目标MAC地址 -g 网关IP地址
这个命令会向目标主机发送伪造的 ARP 响应包,将网关的 IP 地址映射到攻击者的 MAC 地址,实现 ARP 缓存欺骗。
② ICMP 重定向攻击(模块 86):
sudo netwox 86 -i 源IP地址 -g 网关IP地址 -m 重定向目标IP地址 -p 目标主机IP地址
该命令会发送伪造的 ICMP 重定向报文,使目标主机将流量重定向到指定的 IP 地址。
③ SYN Flood 攻击(模块 76):
sudo netwox 76 -i 目标IP地址 -p 目标端口号
此命令会向目标主机的指定端口发送大量的 SYN 包,进行 SYN Flood 攻击。
安装和使用注意事项
安装:在 Kali Linux 通常可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install netwox
ARP 缓存欺骗攻击
攻击原理:ARP(地址解析协议)用于将 IP 地址解析为 MAC 地址。正常情况下,设备会在本地维护一个 ARP 缓存表。攻击者通过发送伪造的 ARP 响应包,让目标设备更新其 ARP 缓存表,将错误的 IP - MAC 映射关系存入其中,从而实现中间人攻击或阻断通信。
攻击危害:攻击者可以截获、篡改或阻断目标设备之间的通信。例如,攻击者可以将自己的 MAC 地址伪装成网关的 MAC 地址,使目标设备将数据发送到自己的设备上,从而窃取敏感信息。
防范措施:使用静态 ARP 绑定,即手动配置 IP - MAC 映射关系,防止 ARP 缓存被恶意更新;安装 ARP 防火墙,检测和拦截异常的 ARP 数据包。
ICMP 重定向攻击
攻击原理:ICMP(互联网控制报文协议)重定向是一种正常的网络机制,用于路由器告知主机更改路由信息。攻击者利用这一机制,发送伪造的 ICMP 重定向报文,使目标主机将流量重定向到攻击者指定的地址。
攻击危害:攻击者可以改变目标主机的网络流量路径,进行中间人攻击,窃取或篡改数据。
防范措施:在网络设备上禁用 ICMP 重定向功能,避免主机接收和处理异常的 ICMP 重定向报文。
SYN Flood 攻击
攻击原理:这是一种 DoS(拒绝服务)攻击。在 TCP 连接建立过程中,客户端首先发送 SYN 包请求连接,服务器收到后返回 SYN - ACK 包进行确认,最后客户端再发送 ACK 包完成连接建立。攻击者大量发送 SYN 包但不响应服务器的 SYN - ACK 包,使服务器处于等待状态,耗尽服务器的资源,无法正常处理其他合法连接请求。
攻击危害:导致目标服务器无法响应正常用户的请求,造成服务中断。
防范措施:使用防火墙或入侵检测系统(IDS)检测和过滤异常的 SYN 请求;服务器端可以采用 SYN Cookie 技术,在不消耗过多资源的情况下处理 SYN 请求。
TCP RST 攻击
攻击原理:TCP 协议中,RST(复位)标志用于异常终止 TCP 连接。攻击者通过发送伪造的 RST 包,使目标主机认为当前的 TCP 连接出现异常,从而强制关闭连接。
攻击危害:导致正在进行的 TCP 会话中断,影响业务的正常运行。例如,攻击者可以中断用户与服务器之间的 HTTP 连接,使用户无法正常浏览网页。
防范措施:对 TCP 连接进行认证和加密,防止攻击者伪造有效的 RST 包;使用防火墙过滤异常的 RST 包。
TCP 会话劫持攻击
攻击原理:攻击者通过嗅探网络流量,获取合法用户与服务器之间的 TCP 会话信息(如序列号、确认号等),然后伪装成合法用户或服务器,向对方发送伪造的数据包,从而接管会话,进行非法操作。
攻击危害:攻击者可以在不被察觉的情况下,获取用户的敏感信息,执行非法操作,如修改账户信息、进行资金转账等。
防范措施:使用加密协议(如 SSL/TLS)对 TCP 会话进行加密,防止攻击者嗅探和篡改数据;对用户进行身份认证和授权,确保只有合法用户可以访问系统资源。
二.实践过程
2.1 分别查看攻击机与靶机的IP地址与MAC地址
输入命令ifconfig查看seed虚拟机的IP地址为192.168.200.4,MAC地址为00:0c:29:50:6e:73

启动kali虚拟机,输入命令查看kali虚拟机的IP地址和MAC地址为IP:192.168.200.2,MAC:00:0c:29:55:cf:65

查看win2000靶机的IP地址为192.168.200.131,MAC地址为00:0c:29:51:DC:F4

查看虚拟机Metasploitable的IP地址为192.168.200.130,MAC地址为00:0c:29:50:41:08

2.2 ARP缓存欺骗攻击
使用ping命令虚拟机查看虚拟机Metasploitable与win2k的连通性,Metasploitable可以ping通win2k,是连通的

输入命令arp -a查看当前的ARP缓存信息,由于刚刚win2k与Metasploitable进行了ping通信,所以Metasploitable中存有win2k的arp缓存信息,输出的MAC地址与win2k的MAC地址相吻合

在kali虚拟机的控制台输入命令apt install netwox安装netwox工具包

在kali虚拟机中使用命令netwox 80 -e 00:0c:29:55:cf:65(kali的mac地址) 1 -i 192.168.200.131(win2k的ip地址),修改arp缓存信息,将win2k的IP地址指向kali的MAC地址进行ARP缓存欺骗
Win2kServer靶机也检测到了异常,接受到了伪造的信息。

攻击成功后会发现,Metasploitable靶机无法ping通Win2kServer靶机,欺骗成功。

2.3 ICMP重定向攻击
打开seed虚拟机终端,输入命令route -n,查看seed虚拟机的网关为192.168.200.1
使用ping命令ping baidu.com,可以ping通且对面IP地址为110.242.70.57

在kali的终端中输入命令 netwox 86 -f “host 192.168.200.4”(SEEDIP地址) -g 192.168.200.2(kali攻击机IP地址) -i 192.168.200.1(SEED网关),启动ICMP重定向攻击
回到SEED虚拟机终端ping baidu.com,发现目标IP被重定向到Kali攻击机的IP地址

2.4 SYN Flood攻击
在seed上telnet 192.168.200.130连通Metasploitable,在Metasploitable靶机可以看到连接成功

随后,使用Kali攻击机对Metasploitable靶机的telnet端口(23号端口)进行SYN Flood攻击,即拒绝服务攻击,消耗靶机的资源使得服务崩溃,从而导致SeedUbuntu无法再次使用telnet远程连接Metasploitable。
sudo netwox 76 -i 192.168.200.130 -p 23
打开kali的wireshark可以看见,Kali攻击机正在向Metasploitable靶机(192.168.200.130)的23号端口疯狂发送SYN请求:


即成功实现SYN Flood攻击。
2.5 TCP RST攻击
使用SeedUbuntu,通过telnet命令远程连接Metasploitable靶机,检测连通性

连通成功。
然后,在Kali攻击机中输入以下命令,实现SYN RST攻击:
sudo netwox 78 -i 192.168.200.130
开始攻击后,稍等十秒左右,就会发现telnet连接被外界打断:

再次通过telnet连接,无法连接上,说明TCP RST攻击成功:

成功实现。
2.6 TCP会话劫持攻击
启动kali虚拟机自带的Ettercap,选择eth0网卡,开始嗅探

点击scan for hosts开始扫描网络中的主机,并查看扫描出来的主机

将192.168.200.4设置为target1,将192.168.200.120设置为target 2

启动arp poisoning,打开view中的Connections。在SEED中再次访问清华的bbs服务并登录用户名,回到kali虚拟机中查看Connection data可以发现用户名与密码均被劫持泄露

三.学习中遇到的问题及解决
在这次实验中,主要问题有以下几点:
问题1:在实验过程中遇到网络连通失败情况?
解决方案:调换虚拟机网络适配装置即可,详细过程可见2.1.3、2.2.2以及2.5.2 等章节。
问题2:在使用netwox时发现kali中没有该工具?
解决方案:使用以下命令进行netwox工具的安装:
sudo apt-get install netwox
问题3:2.1中kali攻击机无法ping成功win2k等靶机?
解决方案:查询后发现是没有开启蜜网网关。
四.学习感悟、思考等
在本次实验中,实验目标主要是学习并掌握TCP/IP网络协议攻击,例如ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击等五个方面相关知识。在实验过程中,我了解到相关的攻击原理,以及排查网段不同导致出现的问题,对网络连接的理解进一步加深。
通过这次实验中,我加深了对于协议攻击技术的知识学习,进一步巩固了相关知识,为后面开展网络攻防实验打下坚实的基础。
浙公网安备 33010602011771号