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

1.实践内容

本周的学习重点在于深入理解 TCP/IP 协议栈的安全缺陷。由于 TCP/IP 协议族在设计初期更多地考虑了效率与互通性,缺乏完善的身份验证机制,导致在链路层、网络层和传输层存在多种攻击可能。

本次实践主要在虚拟化网络攻防实验环境中,通过对以下五种典型攻击方式的演练,掌握其原理及防御思路:

  • ARP 缓存欺骗攻击:利用 ARP 协议不验证应答的缺陷,欺骗目标主机建立错误的 MAC 地址映射。
  • ICMP 重定向攻击:伪造路由器的重定向报文,强制目标流量经由攻击者控制的节点。
  • SYN Flood 攻击:利用 TCP 三次握手协议的半连接资源限制,造成目标服务器拒绝服务。
  • TCP RST 攻击:通过伪造标志位为 RST 的 TCP 报文,强制中断已建立的合法连接。
  • TCP 会话劫持攻击:在已建立的 TCP 连接中,通过预测序列号插入恶意数据,接管通信会话。

2.实践过程

修改网络并重新启用
vim /etc/network/interfaces
sudo systemctl restart networking
image

Kali-Linux(攻击机)Ping靶机
image

Metasploitable-Linux(靶机)IP
image

Win2kServer(靶机)IP
image

2.1 ARP 缓存欺骗攻击

环境说明:攻击者 A (Kali), 目标机 B (Win/Linux), 网关 C。

  1. 在Metasploitable-Linux上ping 192.168.200.131,并查看arp -a
    image
    image

  2. 安装工具:在Kali虚拟机中安装netwox,使用命令apt install netwox
    image

  3. 执行欺骗:在 Kali 上使用 sudo netwox 80 -e 00:0c:29:e6:a3:58 1 -i 192.168.200.131 进行双向欺骗。
    将Win2kServer的MAC地址伪造成kali攻击机的MAC的地址
    image

  4. 结果验证:在Metasploitable-Linux 上运行 arp -a 查看Win2kServer MAC 是否已变为Kali的 MAC。
    image
    显示已经修改成功

2.2 ICMP 重定向攻击

环境说明:利用 netwox 工具集。

  1. Kali Linux 从 VMnet1(仅主机模式) 更改为VMnet8(NAT模式,自动获取IP)
    image

  2. 修改kali配置
    sudo vim /etc/network/interfaces
    image

  3. 修改 eth0 改为 DHCP
    auto eth0 iface eth0 inet dhcp
    image
    再执行sudo systemctl restart networking重新获取 IP

  4. 查看Ubuntu的IP地址为192.168.200.4,执行route -n查看网关为192.168.200.1
    image
    image

  5. ping baidu.com 可知IP地址为110.242.68.66
    image

  6. 在Kali虚拟机中执行netwox 86 -f "host 192.168.200.4" -g 192.168.200.6 -i 192.168.200.1
    image

  7. 在Ubuntu执行ping baidu.com发现新的下一跳,地址为192.168.200.6(kali的IP地址),说明重定向成功
    image

2.3 SYN Flood 攻击

  1. 更改Metasploitable-Linux(靶机)的ip地址,Metasploitable(Linux 靶机)调整到 VMnet8(NAT模式),并设置DHCP
    image
    image
    image

删除旧的静态 IP 设置sudo vim /etc/rc.local
image
image
删除ifconfig eth0 192.168.200.130 netmask 255.255.255.128 route add default gw 192.168.200.1
修改rc.local

#!/bin/sh -e
# rc.local
exit 0

重启虚拟机,检查 IP 地址ip a show eth0可以IP地址变成了192.168.200.5
image

  1. Ubuntu telnet Metasploitable-Linux靶机
    image

  2. 在Kali中打开Wireshark,选择eth0网卡,执行ip addr == 192.168.200.5
    image

  3. Kali执行netwox 76 -i 192.168.200.5 -p 23进行SYN Flood攻击
    image
    可以看到许多目的地址为192.168.200.5且发送地址随机的SYN数据包

2.4 TCP RST 攻击

  1. Ubuntu telnet MetaSploitable
    telnet 192.168.200.5
    image

Kali对靶机发起TCP RST攻击
netwox 78 -i 192.168.200.5
image

  1. 再次用Ubuntu telnet MetaSploitable,发现不能访问
    image

2.5 TCP 会话劫持攻击

环境说明:使用 Ettercap 工具进行中间人攻击及注入。

  1. 在Kali上执行ettercap -G,点击右上角的accept,再点击”…”-“hosts”-“Scan for hosts”,开始扫描网络中的主机
    image
    image

点击“…”-“Hosts”-“Hosts list”,查看扫描出来的主机
image

选择SEED主机,添加到Target1中;选择Linux靶机,添加到Target2中
image

打开MITM Menu->ARP poisoning,点击OK
image
image

查看连接
image

  1. Ubuntu telnet Metasploitabletelnet 192.168.200.5
    image

在kali上查看嗅探到的信息
image
可以看到攻击机与靶机之间传输的数据,包括账号、密码以及登录状态记录
image

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

  • 问题1:执行 ARP 欺骗后,目标机无法上网。
  • 解决方案:检查并发现未开启 Kali 虚拟机的内核 IP 转发功能。执行 echo 1 > /proc/sys/net/ipv4/ip_forward 后恢复正常。
  • 问题2:SYN Flood 攻击对现代操作系统效果不明显。
  • 解决方案:查阅资料发现现代系统默认开启了 Syncookies 防护。为了实验效果,在测试机中临时通过 sysctl -w net.ipv4.tcp_syncookies=0 关闭了该功能。
  • 问题3:TCP 会话劫持难以手动计算序列号。
  • 解决方案:放弃纯手动构造,改用 Ettercap 的内置插件和脚本功能,通过自动化工具同步序列号,提高了实验成功率。

4.实践总结

通过本次实验,我从底层协议的角度重新审视了网络安全。ARP 欺骗和 ICMP 重定向展示了链路层和网络层缺乏鉴权的脆弱性;而 SYN Flood 和会话劫持则揭示了 TCP 状态机在处理连接时的设计局限。

在实验过程中,我深刻体会到“知其然更要知其所以然”。仅仅使用工具是不够的,必须通过 Wireshark 抓包分析每一个标志位(Flags)和序列号的变化,才能理解攻击的精髓。同时,我也认识到部署静态 ARP 绑定、防火墙过滤和使用加密协议(如 HTTPS/SSH)在实际防御中的重要性。

参考资料

posted @ 2026-04-14 22:39  后生许令  阅读(2)  评论(0)    收藏  举报