欢迎光临极品网,更多、更新的资源信息尽在Jpinw.Com!本站所有信息资源每日更新新的内容,请大家继续关注www.Jpinw.com!如果觉得本站还不错,对您有帮助,别忘了向您的朋友推荐本站!请记好本站网址:http://www.Jpinw.com,网站发展靠大家多多的支持!!!

极品网 极品课件 极品论文 极品文学 极品游戏 极品美容 极品手机资源 极品股票

#
免费资源: 免费域名 | 免费空间 | 免费推广 | 免费邮箱 | 免费硬盘 | 免费论坛 | 免费留言 | 免费统计 | 在线投稿 | 更多...
电脑学院: 操作系统 | 安全相关 | 网页设计 | 编程开发 | 建站经验 | 服务器类 | 黑客攻防 | 菜鸟入门 | 教你网赚 | 更多...
文章导航: 网赚学堂 | 网赚秘笈 | 网赚三维 | 网赚先锋 | 网赚资讯 | 感悟网赚 | 众生百态 | 经典美文 | 范文中心 | 更多...
图酷天下: 时事图酷 | 娱乐图酷 | 搞笑图酷 | 时尚图酷 | 体育图酷 | 另类经典 | 论文资源 | 课件下载 | 文学知识 | 更多...

您现在的位置: 极品网 >> 电脑学院 >> 黑客攻防 >> 黑客入门 >> 教程正文

基于IP分片的攻击方法          【字体:
基于IP分片的攻击方法
作者:佚名    教程来源:不详    点击数:    更新时间:2006-5-26    

 








IP分片是在网络上传输IP报文时常采用的一种技术手段,但是其中存在一些安全隐患。Ping of Death, teardrop等攻击可能导致某些系统在重组IP分片的过程中宕机或者重新启动。最近,一些IP分片攻击除了用于进行拒绝服务攻击之外,还经常用于躲避防火墙或者网络入侵检测系统的一种手段。部分路由器或者基于网络的入侵检测系统(NIDS),由于IP分片重组能力的欠缺,导致无法进行正常的过滤或者检测。在本文中将从 IP分片的基本概念介绍入手,详细探讨基于IP分片的攻击和迂回入侵检测系统所采用的一些手段。

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
PING 192.168.0.25 (192.168.0.25): 4000 data bytes
4008 bytes from 192.168.0.25: icmp_seq=0 ttl=254 time=20.7 ms
4008 bytes from 192.168.0.25: icmp_seq=1 ttl=254 time=20.1 ms
利用 tcpdump 进行抓包分析结果如下。

20:55:56.548630 linux.test.com >
test.com.cn: (frag 30338:1048@2960)
20:55:56.558095 linux.test.com >
test.com.cn: (frag 30338:1480@1480+)
20:55:56.565466 linux.test.com >
test.com.cn: icmp: echo request (frag 30338:1480@0+)
  传输之前的数据报文长度为20字节,IP报头+ 8字节,ICMP报头+ 4000字节,ICMP之和为4028字节。由于数据长度超过以太网的MTU 1500字节,因此必须进行分片传输。上图是通过以太网传输的3个分片的情况
  通过Tcpdump进行监听并分析分片的整个过程和基于分片的攻击技术做讨论。

  下面通过Tcpdump进行监听并分析分片的整个过程。

  首先第一个分片中包含20字节的IP报头和8字节的ICMP报头及1472(=1500-20-8)字节的 ICMP数据。
   其中IP 报头中包含如下内容。

Protocol = ICMP
Fragment ID = 30338
More Fragments Flag = 1
Fragment Offset = 0
Data Length = 1480
  下面由tcpdump监听到的分片内容中,30338代表fragment ID。1480代表数据长度,0代表分片偏移量,+代表MF标志位为 1。

20:55:56.565466 linux.test.com > test.com.cn: icmp: echo request (frag 30338:1480@0+)
  IP 报头中封装的数据可能为TCP、UDP或者ICMP等IP协议数据。在这里发送的是ICMP报文,通过 tcpdump 中监听到的 ICMP报头信息中可以看出该报文为 ICMP echo request报文。

  第二个分片由20字节的IP报头和1480字节的ICMP数据组成。所有的分片中都包含20字节的IP报头,第二个分片的IP报头中包含如下信息。

Protocol = ICMP
Fragment ID = 30338
More Fragments Flag = 1
Fragment Offset = 1480
Data Length = 1480
  可以看出该分片的偏移量为1480,但是不包含ICMP报头,因此无法获知ICMP报文类型。

从tcpdump监听到的数据中可以看出,除了第一个分片中包含"ICMP echo request"报文类型之外,后续的分片中看不到相应的报文类型。对于TCP及UDP数据也存在类似的情况。只有第一个分片中包含TCP、UDP及ICMP报头,因此对于数据包过滤设备来说,可能只阻断第一个分片,因此需要根据分片 ID来维持各会话的状态。智能的包过滤系统可以阻断含有相同分片识别号的所有数据包。

最后一个分片由20字节的IP报头和剩余的ICMP数据组成。相应的IP报头中包含如下信息。

Protocol = ICMP
Fragment ID = 30338
More Fragments Flag = 0
Fragment Offset = 2960
Data Length = 1048
因为不存在后续的分片,因此MF 标志位为0。

我们观察了一下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
Starting nmap V. 2.54BETA1 by fyodor@insecure.org ( www.insecure.org/nmap/ )
Interesting ports on test.com.cn (192.168.0.25):
Port State Service
23/tcp open telnet
Nmap run completed -- 1 IP address (1 host up) scanned in 0 seconds
此时通过tcpdump监听的结果如下。

02:57:25.633885 truncated-tcp 16 (frag 19350:16@0+)
02:57:25.634375 linux.test.com > test.com.cn: (frag 19350:4@16)
02:57:25.635071 test.com.cn.telnet > linux.test.com.34326:
- S 1348389859:1348389859(0) ack 3078700240 win 32696 (DF)
02:57:25.639159 linux.test.com.34326 > test.com.cn.telnet:
- R 3078700240:3078700240(0)win 0

可以看出通过nmap成功执行了TCP SYN扫描。但是第一个分片大小为16字节,小于TCP报头长度20字节,而TCP报头的剩余 4字节包含在第二个分片中。

  

 

教程录入:dping    责任编辑:dping 
  • 上一篇教程:

  • 下一篇教程:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关教程
    一个网吧的电脑都是同一ip地
    网上邻居里连不上和在运行用
    各位大虾高手请进——关于IP
    如何查IP地址?
    我要修改QQIP地址! 可是它说
    如果显示IP冲突的话就不能上
    谁知道这个进程是什么?xdlsa
    \RECYCLER\S-1-5-21-1214440
    我的机老掉   IP  也换啦   
    关于IEXPLORE.EXE病毒...
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    极品网
    | 设为首页 | 加入收藏 | 友情链接 | 版权声明 |
    极品网

    Copyright 2006 Jpinw.com 极品网

    备案号:申请中

    极品网