【杂记-浅析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。

相关推荐
风车带走过往4 分钟前
Windows10 使用 dynv6 + ddns-go 实现 IPv6 固定域名远程访问指南
网络
爱奥尼欧28 分钟前
【Linux笔记】网络部分——NAT-代理-网络穿透
linux·网络·笔记
njxiejing35 分钟前
基于Packet Tracer的路由器的基本配置(地址、密码,远程登录)
网络·智能路由器
阿巴~阿巴~1 小时前
UDP服务端绑定INADDR_ANY后,客户端该用什么IP访问?
服务器·网络·udp协议·网络测试·udp套接字编程·inaddr_any
MARIN_shen1 小时前
PCB之电源完整性之电源网络的PDN仿真CST---08
网络·单片机·硬件工程·pcb工艺
罗小爬EX3 小时前
基于WebSocket + STOMP + SockJS + RabbitMq的聊天室Demo
websocket·网络协议·rabbitmq
TravisBytes4 小时前
一次 Qt 网络程序诡异崩溃排查:从 Breakpad 堆栈到 lambda 捕获悬空引用
网络·qt·php
超级战斗鸡4 小时前
计算机网络中的地址体系全解析(包含 A/B/C 类地址 + 私有地址 + CIDR)
网络·计算机网络
在路上看风景4 小时前
3.8 TCP面向字节流
网络·tcp/ip