Jcomics 发表于 2006-6-10 00:21:00

黑客突破防火墙常用的几种技术

一、_blank"&gt;防火墙基本原理&nbsp; <br/><br/>  首先,我们需要了解一些基本的_blank"&gt;防火墙实现原理。_blank"&gt;防火墙目前主要分包过滤,和状态检测的包过滤,应用层代理_blank"&gt;防火墙。但是他们的基本实现都是类似的。&nbsp; <br/><br/>  │&nbsp;│---路由器-----网卡│_blank"&gt;防火墙│网卡│----------内部网络│&nbsp;│&nbsp; <br/><br/>  _blank"&gt;防火墙一般有两个以上的网络卡,一个连到外部(router),另一个是连到内部网络。当打开主机网络转发功能时,两个网卡间的网络通讯能直接通过。当有_blank"&gt;防火墙时,他好比插在网卡之间,对所有的网络通讯进行控制。&nbsp; <br/><br/>  说到访问控制,这是_blank"&gt;防火墙的核心了:),_blank"&gt;防火墙主要通过一个访问控制表来判断的,他的形式一般是一连串的如下规则:&nbsp; <br/><br/>  1&nbsp;accept&nbsp;from+&nbsp;源地址,端口&nbsp;to+&nbsp;目的地址,端口+&nbsp;采取的动作&nbsp; <br/><br/>  2&nbsp;deny&nbsp;...........(deny就是拒绝。。)&nbsp; <br/><br/>  3&nbsp;nat&nbsp;............(nat是地址转换。后面说)&nbsp; <br/><br/>  _blank"&gt;防火墙在网络层(包括以下的炼路层)接受到网络数据包后,就从上面的规则连表一条一条地匹配,如果符合就执行预先安排的动作了!如丢弃包。。。。&nbsp; <br/><br/>  但是,不同的_blank"&gt;防火墙,在判断攻击行为时,有实现上的差别。下面结合实现原理说说可能的攻击。&nbsp; <br/><br/>  二、攻击包过滤_blank"&gt;防火墙&nbsp; <br/><br/>  包过滤_blank"&gt;防火墙是最简单的一种了,它在网络层截获网络数据包,根据_blank"&gt;防火墙的规则表,来检测攻击行为。他根据数据包的源IP地址;目的IP地址;TCP/UDP源端口;TCP/UDP目的端口来过滤!!很容易受到如下攻击:&nbsp; <br/><br/>  1&nbsp;ip&nbsp;欺骗攻击:&nbsp; <br/><br/>  这种攻击,主要是修改数据包的源,目的地址和端口,模仿一些合法的数据包来骗过_blank"&gt;防火墙的检测。如:外部攻击者,将他的数据报源地址改为内部网络地址,_blank"&gt;防火墙看到是合法地址就放行了:)。可是,如果_blank"&gt;防火墙能结合接口,地址来匹配,这种攻击就不能成功了:(&nbsp; <br/><br/>  2&nbsp;d.o.s拒绝服务攻击&nbsp; <br/><br/>  简单的包过滤_blank"&gt;防火墙不能跟踪&nbsp;tcp的状态,很容易受到拒绝服务攻击,一旦_blank"&gt;防火墙受到d.o.s攻击,他可能会忙于处理,而忘记了他自己的过滤功能。:)你就可以饶过了,不过这样攻击还很少的。!&nbsp; <br/><br/>  3&nbsp;分片攻击&nbsp; <br/><br/>  这种攻击的原理是:在IP的分片包中,所有的分片包用一个分片偏移字段标志分片包的顺序,但是,只有第一个分片包含有TCP端口号的信息。当IP分片包通过分组过滤_blank"&gt;防火墙时,_blank"&gt;防火墙只根据第一个分片包的Tcp信息判断是否允许通过,而其他后续的分片不作_blank"&gt;防火墙检测,直接让它们通过。&nbsp; <br/><br/>  这样,攻击者就可以通过先发送第一个合法的IP分片,骗过_blank"&gt;防火墙的检测,接着封装了恶意数据的后续分片包就可以直接穿透_blank"&gt;防火墙,直接到达内部网络主机,从而威胁网络和主机的安全。&nbsp; <br/><br/>  4&nbsp;木马攻击&nbsp; <br/><br/>  对于包过滤_blank"&gt;防火墙最有效的攻击就是木马了,一但你在内部网络安装了木马,_blank"&gt;防火墙基本上是无能为力的。&nbsp; <br/><br/>  原因是:包过滤_blank"&gt;防火墙一般只过滤低端口(1-1024),而高端口他不可能过滤的(因为,一些服务要用到高端口,因此_blank"&gt;防火墙不能关闭高端口的),所以很多的木马都在高端口打开等待,如冰河,subseven等。。。&nbsp; <br/><br/>  但是木马攻击的前提是必须先上传,运行木马,对于简单的包过滤_blank"&gt;防火墙来说,是容易做的。这里不写这个了。大概就是利用内部网络主机开放的服务漏洞。&nbsp; <br/><br/>  早期的_blank"&gt;防火墙都是这种简单的包过滤型的,到现在已很少了,不过也有。现在的包过滤采用的是状态检测技术,下面谈谈状态检测的包过滤_blank"&gt;防火墙。 <br/><br/>三、攻击状态检测的包过滤&nbsp; <br/><br/>  状态检测技术最早是checkpoint提出的,在国内的许多_blank"&gt;防火墙都声称实现了状态检测技术。&nbsp; <br/>

Jcomics 发表于 2006-6-10 00:21:00

可是:)很多是没有实现的。到底什么是状态检测?&nbsp; <br/><br/>  一句话,状态检测就是从tcp连接的建立到终止都跟踪检测的技术。&nbsp; <br/><br/>  原先的包过滤,是拿一个一个单独的数据包来匹配规则的。可是我们知道,同一个tcp连接,他的数据包是前后关联的,先是syn包,-》数据包=》fin包。数据包的前后序列号是相关的。&nbsp; <br/><br/>  如果割裂这些关系,单独的过滤数据包,很容易被精心够造的攻击数据包欺骗!!!如nmap的攻击扫描,就有利用syn包,fin包,reset包来探测_blank"&gt;防火墙后面的网络。!&nbsp; <br/><br/>  相反,一个完全的状态检测_blank"&gt;防火墙,他在发起连接就判断,如果符合规则,就在内存登记了这个连接的状态信息(地址,port,选项。。),后续的属于同一个连接的数据包,就不需要在检测了。直接通过。而一些精心够造的攻击数据包由于没有在内存登记相应的状态信息,都被丢弃了。这样这些攻击数据包,就不能饶过_blank"&gt;防火墙了。&nbsp; <br/><br/>  说状态检测必须提到动态规则技术。在状态检测里,采用动态规则技术,原先高端口的问题就可以解决了。实现原理是:平时,_blank"&gt;防火墙可以过滤内部网络的所有端口(1-65535),外部攻击者难于发现入侵的切入点,可是为了不影响正常的服务,_blank"&gt;防火墙一但检测到服务必须开放高端口时,如(ftp协议,irc等),_blank"&gt;防火墙在内存就可以动态地天加一条规则打开相关的高端口。等服务完成后,这条规则就又被_blank"&gt;防火墙删除。这样,既保障了安全,又不影响正常服务,速度也快。!&nbsp; <br/><br/>  一般来说,完全实现了状态检测技术_blank"&gt;防火墙,智能性都比较高,一些扫描攻击还能自动的反应,因此,攻击者要很小心才不会被发现。&nbsp; <br/><br/>  但是,也有不少的攻击手段对付这种_blank"&gt;防火墙的。&nbsp; <br/><br/>  1&nbsp;协议隧道攻击&nbsp; <br/><br/>  协议隧道的攻击思想类似与VPN的实现原理,攻击者将一些恶意的攻击数据包隐藏在一些协议分组的头部,从而穿透_blank"&gt;防火墙系统对内部网络进行攻击。&nbsp; <br/><br/>  例如,许多简单地允许ICMP回射请求、ICMP回射应答和UDP分组通过的_blank"&gt;防火墙就容易受到ICMP和UDP协议隧道的攻击。Loki和lokid(攻击的客户端和服务端)是实施这种攻击的有效的工具。在实际攻击中,攻击者首先必须设法在内部网络的一个系统上安装上lokid服务端,而后攻击者就可以通过loki客户端将希望远程执行的攻击命令(对应IP分组)嵌入在ICMP或UDP包头部,再发送给内部网络服务端lokid,由它执行其中的命令,并以同样的方式返回结果。由&nbsp; <br/><br/>  于许多_blank"&gt;防火墙允许ICMP和UDP分组自由出入,因此攻击者的恶意数据就能附带在正常的分组,绕过_blank"&gt;防火墙的认证,顺利地到达攻击目标主机下面的命令是用于启动lokid服务器程序:&nbsp; <br/><br/>  lokid-p&nbsp;CI&nbsp;Cvl&nbsp; <br/><br/>  loki客户程序则如下启动:&nbsp; <br/><br/>  loki&nbsp;Cd172.29.11.191(攻击目标主机)-p&nbsp;CI&nbsp;Cv1&nbsp;Ct3&nbsp; <br/><br/>  这样,lokid和loki就联合提供了一个穿透_blank"&gt;防火墙系统访问目标系统的一个后门。&nbsp; <br/><br/>  2&nbsp;利用FTP-pasv绕过_blank"&gt;防火墙认证的攻击&nbsp; <br/><br/>  FTP-pasv攻击是针对_blank"&gt;防火墙实施入侵的重要手段之一。目前很多_blank"&gt;防火墙不能过滤这种攻击手段。如CheckPoint的Firewall-1,在监视FTP服务器发送给客户端的包的过程中,它在每个包中寻找"227"这个字符串。如果发现这种包,将从中提取目标地址和端口,并对目标地址加以验证,通过后,将允许建立到该地址的TCP连接。&nbsp; <br/><br/>  攻击者通过这个特性,可以设法连接受_blank"&gt;防火墙保护的服务器和服务。 <br/><br/>  3&nbsp;反弹木马攻击&nbsp; <br/><br/>  反弹木马是对付这种_blank"&gt;防火墙的最有效的方法。攻击者在内部网络的反弹木马定时地连接外部攻击者控制的主机,由于连接是从内部发起的,_blank"&gt;防火墙(任何的_blank"&gt;防火墙)都认为是一个合法的连接,因此基本上_blank"&gt;防火墙的盲区就是这里了。_blank"&gt;防火墙不能区分木马的连接和合法的连接。&nbsp; <br/>
页: [1]
查看完整版本: 黑客突破防火墙常用的几种技术