20252910 2025-2026-2《网络攻防实践》第4次作业

20252910 2025-2026-2《网络攻防实践》第4次作业

1、实验内容

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

ARP 缓存欺骗攻击:ARP 协议负责 IP 与 MAC 地址解析,协议本身无身份认证机制,主机默认信任所有 ARP 应答。攻击者可主动发送伪造 ARP 响应包,篡改目标主机或网关的 ARP 缓存表,将网关 MAC 指向攻击机,实现流量劫持、中间人监听或断网攻击。该攻击仅在局域网有效,危害在于隐蔽性强、易实施。

ICMP 重定向攻击:ICMP 重定向报文用于优化路由,主机收到后会自动更新路由表。攻击者伪造 ICMP 重定向消息,欺骗目标主机修改默认路由,将流量转发至恶意节点,实现流量窃听、会话劫持或网络阻断。攻击利用了系统对路由报文缺乏校验的缺陷,影响主机路由策略。

SYN Flood 攻击:基于 TCP 三次握手缺陷,攻击者发送大量伪造源 IP 的 SYN 连接请求,服务器回复 SYN+ACK 后等待 ACK 应答,形成大量半连接队列,占用内存与端口资源,最终无法响应正常请求,造成拒绝服务。属于典型的传输层 DoS 攻击,破坏力强、防御难度中等。

TCP RST 攻击:TCP 通过 RST 标志位强制异常断开连接。攻击者监听通信流量,获取正确序列号与确认号后,伪造携带 RST 标志的 TCP 数据包,目标主机校验通过后立即关闭连接,实现通信中断。可用于切断 FTP、Telnet、HTTP 等会话,攻击成本低、见效快。

TCP 会话劫持攻击:在建立 TCP 连接后,攻击者通过嗅探获取会话序列号,伪造合法 TCP 报文,发送恶意数据或 RST 报文,抢占合法会话控制权,实现身份冒充、数据篡改与命令执行。常与 ARP 欺骗配合使用,可直接窃取登录状态、执行敏感操作。

本次实验使用之前搭建的攻防环境:Kali 作为攻击机(192.168.200.6),Metasploitable 作为靶机(192.168.200.130),SEED Ubuntu(192.168.200.4)和 Win2K(192.168.200.131)作为辅助实验机。所有攻击均在隔离的实验网络中进行。

2、实验过程

2.1 环境准备

  • 记录所有设备的核心信息:
虚拟机 角色 信息 所属网络
Kali 攻击机 IP 地址:192.168.200.6 MAC 地址:00:0c:29:3e:f7:30 VMnet8
SEED Ubuntu 实验机 IP 地址:192.168.200.4 MAC 地址:00:0c:29:14:e9:a4 VMnet8
Metasploitable 靶机 IP 地址:192.168.200.130 MAC 地址:00:0c:29:c3:29:c5 VMnet1
Win2K 靶机 IP 地址:192.168.200.131 MAC 地址:00:0C:29:5B:3F:A4 VMnet1
  • Kali 安装必备攻击工具

执行以下命令一键安装实验所需工具:

sudo apt update && sudo apt install -y netwox netwag wireshark ettercap-graphical hping3 dsniff

2.2 任务1 ARP缓存欺骗攻击

2.2.1 验证靶机连通性

打开 Metaspolitable 终端,执行以下命令,确保能正常 ping 通 Win2kServer:

ping 192.168.200.131

image-20260409104541027

2.2.2 查看初始 ARP 缓存

Metaspolitable 终端执行以下命令,可看到 192.168.200.131 对应的 MAC 是 Win2kServer 的真实 MAC(00:0c:29:5B:3F:A4):

arp -a

image-20260409104829069

2.2.3 Kali 执行 ARP 欺骗命令

修改kali为VMnet1模式

执行以下命令设置IP地址:

sudo ifconfig eth0 192.168.200.132 netmask 255.255.255.0 up

mac地址为:00:0c:29:3e:f7:30

Kali 终端直接执行:

sudo netwox 80 -e 00:0c:29:3e:f7:30 -i 192.168.200.131

image-20260409111735732

2.2.4 验证攻击效果

回到 Metaspolitable 终端:

再次执行 ping 192.168.200.131,会出现 100% 丢包,无法 ping 通。

image-20260409111626549

再次执行 arp -a,会发现 192.168.200.131 对应的 MAC 地址变成了 Kali 的 MAC(00:0c:29:3e:f7:30),攻击成功。

image-20260409111859899

2.3 ICMP 重定向攻击

本次实验将 seed 当作靶机,Kali 作为攻击机。

2.3.1 验证靶机外网连通性

打开seed虚拟机终端,输入命令route -n,查看seed虚拟机的网关为192.168.200.2

seed 的 终端执行 ping baidu.com,确保能正常 ping 通外网。

image-20260409141930790

2.3.2 Kali 执行 ICMP 重定向攻击命令

Kali 终端直接复制执行:

sudo netwox 86 -f "host 192.168.200.4" -g 192.168.200.6 -i 192.168.200.2

2.3.3 验证攻击效果

回到 seed 的 终端,再次执行 ping baidu.com

image-20260409142400483

发现目标IP被重定向到Kali攻击机的IP地址

2.4 SYN Flood 攻击

2.4.1 准备

  • 打开Kali自带的Wireshark工具,选择eth0网卡

  • 在SEED上输入命令luit -encoding gbk telnet bbs.mysmth.net访问清华bbs服务

image-20260409142841323

2.4.2 Kali 执行攻击命令

sudo netwox 76 -i 192.168.200.4 -p 23

image-20260409143038665

2.4.3 验证攻击效果

Wireshark 可见大量目标为 192.168.200.4 的 SYN 包,这表明SEED正在遭受SYN Flood攻击。

image-20260409144826687

image-20260409144911498

2.5 TCP RST 攻击

2.5.1 靶机重新建立 Telnet 连接

打开 seed的,再次执行以下命令,连接 Telnet 服务,出现登录界面后保持窗口不要关闭:

luit -encoding gbk telnet bbs.mysmth.net

2.5.2 Kali 执行攻击命令

sudo netwox 78 -i 192.168.200.4

2.5.3 验证攻击效果

回到seed的 Telnet 窗口,会立刻弹出 Connection closed by foreign host.,连接被强制断开;

查看 Wireshark,能看到 Kali 向靶机发送的带 RST 标志位的 TCP 包,攻击成功

image-20260409145801755

image-20260409150040779

2.6 TCP 会话劫持攻击

2.6.1 Kali 启动 Ettercap

启动kali虚拟机自带的Ettercap,选择eth0网卡,开始嗅探

image-20260409150253947

2.6.2 扫描局域网主机

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

image-20260409150538379

2.6.3 设置攻击目标

  1. 选中 192.168.200.4 点击「Add to Target 1」;
  2. 选中 192.168.200.120,点击「Add to Target 2」;
  3. 启动 ARP 中毒:顶部菜单栏点击「Mitm」→「ARP poisoning」,勾选「Sniff remote connections」,点击 OK 启动

image-20260409151556161

2.6.4 查看会话连接

顶部菜单栏点击「View」→「Connections」,打开连接列表。

8ae0f049-fe66-4016-ab18-147f20c7e824

2.6.5 验证劫持效果

打开 seed的,再次执行以下命令,连接 Telnet 服务,出现登录界面后保持窗口不要关闭:

luit -encoding gbk telnet bbs.mysmth.net

image-20260409172840428

回到 Kali 的 Ettercap,双击对应的 Telnet 连接,打开「Connection data」窗口,就能看到明文传输的用户名和密码 guest,劫持成功。

c7247929-db1a-46b6-b0a9-2aeacb5ad7bc

3、实验中遇到的问题

  1. 在做 ARP 缓存欺骗攻击时,由于不了解原理,我觉得攻击机和靶机之间能ping通就可以做,kali在VMnet8下,靶机在VMnet1下。执行攻击命令之后,靶机之间仍然可以ping通。所以攻击没有效果

解决办法:将kali放在VMnet1下,并执行以下命令设置IP地址:

sudo ifconfig eth0 192.168.200.132 netmask 255.255.255.0 up

原理:

ARP 是二层广播协议,只在同一个虚拟交换机(同一个 VMnet) 内有效。

VMnet1 和 VMnet8 是两个隔离的二层网络,ARP 包过不去。

  • 能 ping 通 → 说明三层路由通了
  • ARP 欺骗无效 → 因为二层不通

2.在做第ICMP 重定向攻击重定向攻击时,我的虚拟机在NAT模式下一直连不上外网,一直找问题找了一个小时才找到答案。

原因是:在做第一次实验室我是按照女生的视频来做的,后来通知说女生做的有错误,然后当时把实验1修改了,但是在修改过程中对于NAT的网关忘记修改了还是192.168.200.1,但是对第一个实现的测试没有影响(因为仅仅是内网验证)。

image-20260409141728721

原理:VMware NAT 模式下,192.168.200.1是宿主机 VMnet8 虚拟网卡的 IP(仅负责内网通信,无转发功能),192.168.200.2是 VMware NAT 服务的网关 IP(负责外网转发),虚拟机必须用.2当网关才能上网,用.1会导致流量无法转发、外网不通。

解决方案:修改网关为192.168.200.2

4、学习感悟与思考

通过本次 TCP/IP 协议攻击实验,我直观认识到网络协议在设计之初更注重效率而非安全,缺乏认证、校验等防护机制,才给了 ARP 欺骗、ICMP 重定向、SYN Flood 等攻击可乘之机。每一种攻击都精准利用了协议本身的缺陷,也让我明白通信可靠不等于通信安全。实验也让我体会到攻防对抗的本质:攻击是发现漏洞、利用漏洞,防御则是补齐协议短板、加固配置、建立监控体系。今后在学习网络安全时,既要理解协议原理,也要建立攻防思维,才能真正做到知其然、知其所以然

posted @ 2026-04-09 17:59  lLct  阅读(38)  评论(0)    收藏  举报