|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
|||||
| 基于IP分片的攻击方法 | |||||
| 作者:佚名 教程来源:不详 点击数: 更新时间:2006-5-26 | |||||
|
IP分片的理解 IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组。这一过程称为分片( fragmentation)。 IP 分片(Fragmentation)发生在要传输的IP报文大小超过最大传输单位MTU(Maximum Transmission Unit)的情况。比如说,在以太网(Ethernet)环境中可传输最大IP报文大小(MTU)为1500字节。如果要传输的报文大小超过1500字节,则需要分片之后进行传输。由此可以看出,IP分片在网络环境中是经常发生的事件。但是,如果经过人为的恶意操作的分片,将会导致拒绝服务攻击或者迂回路由器、防火墙或者网络入侵检测系统(NIDS)的一种攻击手段。 为到达目标主机之后能够正常重组,各分片报文具有如下信息: * 各IP分片基于IP分片识别号进行重组,识别号相同的重组为相同的IP报文。IP分片识别号长度为16位,叫做“IP identification number”或者“fragment ID”。 * 各分片具有从原始报文进行分片之前的分片偏移量以确定其位置。 * 各分片具有分片数据长度,其中20字节IP包头不包含在该数据长度中。即,传输1500字节的数据时,实际数据长度为1480(1500-20)字节。 * 当每个分片之后还存在后续的分片时,该分片的ME(More Fragment)标志位为1。 为了更加深入地了解IP分片原理,下面观察一下4,000字节的 ICMP 数据传输时的分片情况。 首先发送4000字节的 ICMP数据。(通常 ping 报文传输大小为56字节的ICMP报文。为了测试,我们利用 -s 选项发送4000字节的 ICMP报文以便发生分片。) [linux">root@linux /root]# ping -s 4000 192.168.0.25 20:55:56.548630 linux.test.com > 下面通过Tcpdump进行监听并分析分片的整个过程。 首先第一个分片中包含20字节的IP报头和8字节的ICMP报头及1472(=1500-20-8)字节的 ICMP数据。 Protocol = ICMP 20:55:56.565466 linux.test.com > test.com.cn: icmp: echo request (frag 30338:1480@0+) 第二个分片由20字节的IP报头和1480字节的ICMP数据组成。所有的分片中都包含20字节的IP报头,第二个分片的IP报头中包含如下信息。 Protocol = ICMP 从tcpdump监听到的数据中可以看出,除了第一个分片中包含"ICMP echo request"报文类型之外,后续的分片中看不到相应的报文类型。对于TCP及UDP数据也存在类似的情况。只有第一个分片中包含TCP、UDP及ICMP报头,因此对于数据包过滤设备来说,可能只阻断第一个分片,因此需要根据分片 ID来维持各会话的状态。智能的包过滤系统可以阻断含有相同分片识别号的所有数据包。 最后一个分片由20字节的IP报头和剩余的ICMP数据组成。相应的IP报头中包含如下信息。 Protocol = ICMP 我们观察了一下4000字节的ICMP数据传输时,分片的整个过程。 基于分片的攻击技术 如上所述,IP报文分片是一个正常的过程,但是一些攻击者恰恰利用分片过程中的一些漏洞,迂回防火墙或者入侵检测系统进行各种攻击。 Tiny fragment 攻击 所谓Tiny fragment攻击是指通过恶意操作,发送极小的分片来绕过包过滤系统或者入侵检测系统的一种攻击手段。 攻击者通过恶意操作,可将TCP报头(通常为20字节)分布在2个分片中,这样一来,目的端口号可以包含在第二个分片中。 对于包过滤设备或者入侵检测系统来说,首先通过判断目的端口号来采取允许/禁止措施。但是由于通过恶意分片使目的端口号位于第二个分片中,因此包过滤设备通过判断第一个分片,决定后续的分片是否允许通过。但是这些分片在目标主机上进行重组之后将形成各种攻击。通过这种方法可以迂回一些入侵检测系统及一些安全过滤系统。目前一些智能的包过滤设备直接丢掉报头中未包含端口信息的分片。 通过大家熟知的nmap工具也可以进行一定的Tiny fragment攻击。通过nmap的-f选项可以将TCP报头分在多个小碎片中。 [root@linux /root]# nmap -f -sS -p 23 192.168.0.25 02:57:25.633885 truncated-tcp 16 (frag 19350:16@0+) |
|||||
|
|||||
| 教程录入:dping 责任编辑:dping | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关教程 | ||
| 一个网吧的电脑都是同一ip地 网上邻居里连不上和在运行用 各位大虾高手请进——关于IP 如何查IP地址? 我要修改QQIP地址! 可是它说 如果显示IP冲突的话就不能上 谁知道这个进程是什么?xdlsa \RECYCLER\S-1-5-21-1214440 我的机老掉 IP 也换啦 关于IEXPLORE.EXE病毒... |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |