本文仅做数据包学习使用!
一、泪滴攻击原理
Teardrop攻击是一种拒绝服务攻击,是一种针对IP协议的攻击方法,顾名思义,Teardrop攻击是一种令人落泪的攻击手段,可见其破坏威力很强大。它利用发送畸形数据包的方式(除此之外针对IP协议攻击还有伪造IP地址的方式),实现原理是向目标主机发送异常的数据包碎片,使得IP数据包碎片在重组的过程中有重合的部分,从而导致目标系统无法对其进行重组,进一步导致系统崩溃而停止服务的恶性攻击。
Teardrop攻击工作原理(图片来自网络)
**攻击危害:**某些操作系统收到此类数据包时,将会出现系统崩溃、重启等现象,对Windows系统会导致蓝屏死机,并显示STOP 0x0000000A错误。
**防御方法:**升级系统版本,使用可以缓存分片报文的网络安全设备,分析数据包,计算数据包的片偏移量(Offset)是否有误。
**影响范围:**针对早期微软操作系统(95、98、3.x、nt)近些年有人发现对 2.x 版本的安卓系统、6.0 IOS 系统攻击有效
二、数据包分析
数据包来源于:https://wiki.wireshark.org/SampleCaptures,名称为teardrop.pcap
- 查看第8个数据包,可以看到Flags中MF为1,代表不是最后一个分片。Fragment Offset表示相对于原始位置的偏移,此时为0,表示该包为分片的第一个数据包;
再往下看,Data数据大小为36,等于以太网MTU最大长度70bit减去以太头14bit,再减去ip头20bit。 - 查看第9个数据包,此时的偏移量被改小,让第9个数据包和第8个数据包数据有重合部分,两个分片包有部分重合,就无法重新组合。
目标系统无法对其进行重组,就会进一步导致系统崩溃而停止服务。