【杂记-浅析TCP预测攻击】

一、什么是TCP预测攻击

TCP序列预测攻击中,攻击者通过侦听两个受信任主机之间的对话,在攻击发生之前监视流量,攻击者预测用于识别TCP连接中数据包的序列号,该序号随后将与IP地址一起用于在合法主机之前发送欺骗性数据包,从而使用相同的源IP地址发送数据包、将伪造的数据包发送到目标主机,这些数据包看起来是合法的并已由目标主机发送。

攻击者为了确保合法主机不会尽快发送数据包,会对该主机进行拒绝服务攻击,当获得对该连接的控制权时,攻击者可以发送任意数量的虚假数据包而不会收到答复。此时攻击者注入自己选择的数据,会导致在收到伪造的数据包注入后关闭现有的TCP连接。

二、TCP预测攻击过程

方法一

假设主机A和主机B正在相互通信,攻击者能够以某种方式监视A和B之间的数据包,若此时攻击者想攻击主机A:

1、使用新请求向主机B泛洪,从而导致拒绝服务攻击,以阻止主机B与A进行通信。

2、攻击者预测A从B期望的数据包的序列号,并此类数据包并将其发送给主机A,由于它是伪造的包装,因此主机A认为其来自B。

3、此类数据包可以是终止连接或要求主机A运行某些恶意命令或脚本等的数据包,攻击者因此可以劫持连接。
方法二

预测ISN(初始序列号)

1、创建新的连接时,将使用一个初始序列号(ISN)生成器来选择一个新的32位ISN。

2、生成器绑定到一个32位时钟,该时钟的低阶位大约每4微秒递增一次。

3、ISN大约每4.55小时循环一次,由于假设网段中的网段停留时间不超过最大网段寿命MSL,并且MSL小于4.55小时,假设ISN是唯一的。

4、BSD TCP / IP堆栈偏离了上述机制。BSD TCP / IP堆栈使序列号每秒增加128,000,对于每个新的TCP连接,增加64,000。

相关推荐
Top`1 分钟前
两个服务之间传递的数据本质上是字节码(Byte Stream)
网络
dyxal39 分钟前
非对称加密:彻底解决密钥分发难题的数字安全革命
服务器·网络·安全
少云清2 小时前
【功能测试】4_Web端抓包 _网络知识
网络·功能测试·抓包
观望过往4 小时前
WebSocket 技术全解析:原理、应用与实现
网络·websocket·网络协议
mohesashou5 小时前
HCIP作业(OSPF综合实验)
网络·智能路由器
后端小张6 小时前
【JAVA 进阶】深入探秘Netty之Reactor模型:从理论到实战
java·开发语言·网络·spring boot·spring·reactor·netty
q***d1737 小时前
Rust在网络中的协议栈
开发语言·网络·rust
我命由我123458 小时前
Java NIO 编程 - NIO Echo Server、NIO Client(NIO 异步客户端、NIO Selector 异步客户端)
java·开发语言·网络·java-ee·intellij-idea·intellij idea·nio
kk哥889910 小时前
iOS开发:关于日志框架
网络·ios·cocoa
m***D28614 小时前
云原生网络
网络·云原生