20253916 2024-2025-2 《网络攻防实践》实践4报告

1.实践内容

  • TCP RST攻击

TCP RST攻击也被称为伪造TCP重置报文攻击(spoofed TCP reset packet),是指一种假冒干扰TCP通信连接的技术方法。

原理:TCP重置报文将直接关闭掉一个TCP会话连接,通信方A与B建立TCP协议进行数据传输时,攻击者可以利用TCP重置报文切断A与B之间的会话,当然

1.1概述

TCP/IP协议创建时,认定使用环境中的用户都是可信任的,并没有考虑到其中存在的安全问题。随着互联网的逐步扩展与开放,TCP/IP协议应用越发广泛,其存在的弱点被挖掘、被放大、被利用。本篇主要讲解TCP/IP协议栈中最为基本的网络层与传输层协议所存在的安全问题及针对性攻击技术。

1.2网络层协议攻击举例

  • ARP欺骗

ARP欺骗是指攻击者 在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。

原理:一方面,ARP协议在进行IP地址到MAC地址映射査询时,采用广播请求包方式在局域网段中询问映射关系,但没有对响应结果进行真实性验证;另一方,ARP协议为提高效率,设计ARP缓存机制,以及会将主动的ARP应答视作有效信息进行接受,这使得ARP缓存出常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。
  • ICMP路由重定向攻击

ICMP路由重定向攻击是指攻击者伪装成路由器发送虚假的 ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。

原理:攻击节点利用IP源地址欺骗技术,冒充网关IP地址,向被攻击节点发送ICMP 重定向报文,给被攻击节点指定的新路由器IP地址,并以这个新路由器IP地址为攻击节点。被攻击节点会对ICMP报文进行限制条件监测,检查通过后,就会通过这个新路由器向外网进行通信,攻击者就可以进行嗅探或者监听了。

1.3传输层协议攻击举例

  • TCP RST攻击

TCP RST攻击也被称为伪造TCP重置报文攻击(spoofed TCP reset packet),是指一种假冒干扰TCP通信连接的技术方法。

 ​原理:TCP重置报文将直接关闭掉一个TCP会话连接,通信方A与B建立TCP协议进行数据传输时,攻击者可以利用TCP重置报文切断A与B之间的会话,当然这里攻击者要借用IP源地址欺骗伪装成A或者B才可以。
  • TCP SYN Flood拒绝服务攻击

拒绝服务攻击目的就是使服务器不能够为正常访问的用户提供服务。

 原理:利用TCP三次握手存在连接队列平静的缺陷,主机A想与服务器建立会话必须经过三次握手协议,攻击者B不断的向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为主机A提供服务。
  • TCP会话劫持攻击

TCP会话劫持是劫持通信双方已建立的TCP会话连接,再假冒其中一方的身份,与另一方进行进一步通信,这样攻击方就可以躲避一些身份认证。

2.实践过程

以下是我本次实验的网络配置:

虚拟机 IP Mac地址
Kali 192.168.200.4 00:0c:29:34:da:7d
Linux MetaSploitable 192.168.200.123 00:0c:29:94:33:14
win2k 192.168.200.124 00:0C:29:9F:B1:E6
winXPattacker 192.168.200.2 00:0C:29:CF:a4:56
seed ubuntu 192.168.200.3 00:0C:29:47:22:23

image
image
image
image
image

2.1ARP缓存欺骗攻击

  • 首先使用 WinXPattacker 对 Kali 进行 Ping 访问:
    image

是可以正常进行 Ping 访问的,使用命令 arp -a 查看一下它的 ARP 表:

image

从图中看到192.168.200.4 对应的 MAC 地址为 00:0c:29:34:da:7d。
在 Kali 中使用 netwox 命令发送 ARP 欺骗包,向局域网中所有主机广播 SEED Ubuntu 主机的网卡地址为 00:0C:29:CF:a4:56(实际为 00:0C:29:47:22:23),命令为:

sudo netwox 80 -e 00:0C:29:CF:a4:56 -i 192.168.200.3

尚未进行攻击前
image

进行攻击后

image

对于相同的IP,在进行攻击前后对应的 MAC 地址不一致,表示攻击成功。

2.2ICMP重定向攻击

首先在 SEED Ubuntu 上使用 route -n 命令查看路由表:
image

在 Kali 中,使用以下命令对 SEED Ubuntu 进行欺骗攻击:

sudo netwox 86 -f "host 192.168.200.3" -g 192.168.200.4 -i 192.168.200.1

在 SEED Ubuntu 上 ping 一下 www.baidu.com,从下图中看到下一跳地址已经被成功修改,流量被重定向到了攻击机192.168.200.1中。:

image

2.3SYN Flood攻击

使用 SEED Ubuntu 对该主机192.168.200.123进行 telnet 访问:
image

进入 Kali 攻击机,使用以下命令对 MetaSploitable 主机进行 SYN 泛洪攻击:

sudo netwox 76 -i 192.168.200.123 -p 23

image

再次回到 SEED Ubuntu 中对 MetaSploitable 主机进行 telnet 连接:

image

可以看到非常卡顿,处于几乎不可用状态,说明 Kali 已经发送了大量 SYN 泛洪攻击导致服务卡顿。
在kali中打开wireshark,发现kali在进行攻击,且无法确定攻击机IP地址.
image

2.4TCP RST攻击

首先使用 telnet 登录 MetaSploitable 主机:
image

使用 Kali 对 MetaSploitable 主机进行 TCP RST 攻击,命令为:

sudo netwox 78 -i 192.168.200.130

此时再次尝试连接 MetaSploitable 主机,发现无法连接,提示 connection closed by foreign host.发现攻击成功:

image

2.5TCP会话劫持攻击

首先在 Kali 命令行中输入 sudo ettercap -G,以图形化方式打开工具:

image

首先点击右上角对勾开启捕获:
image
image

这里我选择位于 将靶机Metasploitable_Ubuntu 192.168.200.123 设为target1,SEEDUbuntu 192.168.200.3设为target2。

选择上方的 MITM 选项,选择 ARP 投毒攻击:

image

image

在 View → Connections 中查看连接:

image

image

可以在 Kali 中看到 telnet 连接过程以及执行的命令、账号密码等等,攻击成功。

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

  • 问题1:在SEED中执行telnet命令出现以下错误:
    image
  • 问题1解决方案:把kali和seed放到同一个网段下面在进行操作。
  • 问题2:ICMP路由重定向过程中,一开始主机的路由表一直不更新。
  • 问题2解决方案:经搜集资料后发现,路由表更新需要打开一下诸如百度网站这样的页面,然后访问一下网络,发现路由表更新了。

4.实践总结

这次围绕 TCP/IP 协议栈核心协议的实验,从 ARP 缓存欺骗开始,原本以为 ARP 只是简单的 IP-MAC 地址解析,没想到攻击者只需伪造 ARP 响应,就能篡改目标主机的 ARP 缓存,把流量劫持到自己的主机,这也让我明白局域网内的通信并非绝对安全,地址解析的无认证机制是天然的安全隐患。后续的 ICMP 重定向攻击,通过伪造合法的 ICMP 重定向报文,就能诱导主机修改路由表,将流量导向攻击者指定的路径,实现流量劫持或中间人攻击,也让我深刻意识到路由信息的校验有多重要。SYN Flood 攻击的实操,让我对 TCP 三次握手的设计缺陷有了切身体会。攻击者只需批量发送伪造源 IP 的 SYN 请求,就能耗尽目标主机的半连接资源,让正常用户无法建立连接,以及防火墙、SYN Cookie 等防护机制的设计初衷。而 TCP RST 攻击和 TCP 会话劫持,则让我看到了传输层 TCP 协议的可被利用点:RST 报文的高优先级特性,让攻击者可以轻易切断正在进行的 TCP 会话;而会话劫持则通过预测 TCP 序列号,直接接管已建立的合法连接,实现冒充用户操作,这也让我彻底明白,TCP 的序列号机制并非绝对安全,缺乏加密和认证的协议,在攻击者面前毫无防护力。
TCP/IP 协议栈的每一层,从链路层到传输层,都存在设计之初未考虑的安全漏洞,而所有的攻击手段,本质上都是对协议机制的恶意利用。这次实验也让我明白,网络安全的核心是攻防对抗,只有站在攻击者的视角理解攻击原理,才能真正做好防护,为后续的深入学习打下了坚实的基础。

posted @ 2026-04-11 17:43  憋不讲李  阅读(7)  评论(0)    收藏  举报