广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 32429 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
upside 手机 葫芦墩家族
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 优秀管理员勋章
头衔:反病毒 反诈骗 反虐犬   反病毒 反诈骗 反虐犬  
版主
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[资讯教学] 骇客是怎样突破各种防火墙的
骇客是怎样突破各种防火墙的
转载自: 微风论坛
http://bbs.wefong.com/viewthread....extra=page%3D2

现在随着人们的安全意识加强,防火墙一般都被公司企业采用来保障网路的安全,一般的攻击者在有防火墙的情况下,一般是很难入侵的。下面谈谈有防火墙环境下的攻击和侦测。

  一 防火墙基本原理

  首先,我们需要了解一些基本的防火墙实现原理。防火墙目前主要分包过滤,和状态侦测的包过滤,应用层代理防火墙。但是他们的基本实现都是类似的。

  ︱ ︱---路由器-----网卡︱防火墙︱网卡︱----------内部网路︱ ︱

  防火墙一般有两个以上的网路卡,一个连到外部(router),另一个是连到内部网路。当打开主机网路转发功能时,两个网卡间的网路通讯能直接透过。当有防火墙时,他好比插在网卡之间,对所有的网路通讯进行控制。

  说到访问控制,这是防火墙的核心了:),防火墙主要透过一个访问控制表来判断的,他的形式一般是一连串的如下规则:

  1 accept from+ 源地址,连接埠 to+ 目的地址,连接埠+ 采取的动作

  2 deny ...........(deny就是拒绝。。)

  3 nat ............(nat是地址转换。后面说)

  防火墙在网路层(包括以下的炼路层)接受到网路数据包后,就从上面的规则连表一条一条地匹配,如果符合就执行预先安排的动作了!如丢弃包。。。。

  但是,不同的防火墙,在判断攻击行为时,有实现上的差别。下面结合实现原理说说可能的攻击。

  二 攻击包过滤防火墙

  包过滤防火墙是最简单的一种了,它在网路层截获网路数据包,根据防火墙的规则表,来侦测攻击行为。他根据数据包的源IP地址;目的IP地址;TCP/UDP源连接埠;TCP/UDP目的连接埠来过滤!!很容易受到如下攻击:

  1 ip 欺骗攻击:

  这种攻击,主要是修改数据包的源,目的地址和连接埠,模仿一些合法的数据包来骗过防火墙的侦测。如:外部攻击者,将他的数据报源地址改为内部网路地址,防火墙看到是合法地址就放行了:)。可是,如果防火墙能结合接口,地址来匹配,这种攻击就不能成功了:(

  2 d.o.s拒绝服务攻击

  简单的包过滤防火墙不能跟踪 tcp的状态,很容易受到拒绝服务攻击,一旦防火墙受到d.o.s攻击,他可能会忙于处理,而忘记了他自己的过滤功能。:)你就可以饶过了,不过这样攻击还很少的。!

  3 分片攻击

  这种攻击的原理是:在IP的分片包中,所有的分片包用一个分片偏移字段标志分片包的顺序,但是,只有第一个分片包含有TCP连接埠号的资讯。当IP分片包透过分组过滤防火墙时,防火墙只根据第一个分片包的Tcp资讯判断是否允许透过,而其他后续的分片不作防火墙侦测,直接让它们透过。

  这样,攻击者就可以透过先发送第一个合法的IP分片,骗过防火墙的侦测,接着封装了恶意数据的后续分片包就可以直接穿透防火墙,直接到达内部网路主机,从而威胁网路和主机的安全。

  4 木马攻击

  对于包过滤防火墙最有效的攻击就是木马了,一但你在内部网路装设了木马,防火墙基本上是无能为力的。

  原因是:包过滤防火墙一般只过滤低连接埠(1-1024),而高连接埠他不可能过滤的(因为,一些服务要用到高连接埠,因此防火墙不能关闭高连接埠的),所以很多的木马都在高连接埠打开等待,如冰河,subseven等。。。

  但是木马攻击的前提是必须先上传,运行木马,对于简单的包过滤防火墙来说,是容易做的。这里不写这个了。大概就是利用内部网路主机开放的服务漏洞。

  早期的防火墙都是这种简单的包过滤型的,到现在已很少了,不过也有。现在的包过滤采用的是状态侦测技术,下面谈谈状态侦测的包过滤防火墙。

  三 攻击状态侦测的包过滤

  状态侦测技术最早是checkpoint提出的,在国内的许多防火墙都声称实现了状态侦测技术。

  可是:)很多是没有实现的。到底什么是状态侦测?

  一句话,状态侦测就是从tcp连接的建立到终止都跟踪侦测的技术。

  原先的包过滤,是拿一个一个单独的数据包来匹配规则的。可是我们知道,同一个tcp连接,他的数据包是前后关联的,先是syn包,-》数据包=》fin包。数据包的前后序列号是相关的。

  如果割裂这些关系,单独的过滤数据包,很容易被精心够造的攻击数据包欺骗!!!如nmap的攻击扫描,就有利用syn包,fin包,reset包来探测防火墙后面的网路。!

  相反,一个完全的状态侦测防火墙,他在发起连接就判断,如果符合规则,就在记忆体登记了这个连接的状态资讯(地址,port,选项。。),后续的属于同一个连接的数据包,就不需要在侦测了。直接透过。而一些精心够造的攻击数据包由于没有在记忆体登记相应的状态资讯,都被丢弃了。这样这些攻击数据包,就不能饶过防火墙了。

  说状态侦测必须提到动态规则技术。在状态侦测里,采用动态规则技术,原先高连接埠的问题就可以解决了。实现原理是:平时,防火墙可以过滤内部网路的所有连接埠(1-65535),外部攻击者难于发现入侵的切入点,可是为了不影响正常的服务,防火墙一但侦测到服务必须开放高连接埠时,如(ftp协议,irc等),防火墙在记忆体就可以动态地天加一条规则打开相关的高连接埠。等服务完成后,这条规则就又被防火墙删除。这样,既保障了安全,又不影响正常服务,速度也快。!

  一般来说,完全实现了状态侦测技术防火墙,智能性都比较高,一些扫描攻击还能自动的反应,因此,攻击者要很小心才不会被发现。

  但是,也有不少的攻击手段对付这种防火墙的。

  1 协议隧道攻击

  协议隧道的攻击思想类似与VPN的实现原理,攻击者将一些恶意的攻击数据包隐藏在一些协议分组的头部,从而穿透防火墙系统对内部网路进行攻击。

  例如,许多简单地允许ICMP回射请求、ICMP回射应答和UDP分组透过的防火墙就容易受到ICMP和UDP协议隧道的攻击。Loki和lokid(攻击的用户端和服务端)是实施这种攻击的有效的工具。在实际攻击中,攻击者首先必须设法在内部网路的一个系统上装设上lokid服务端,而后攻击者就可以透过loki用户端将希望远端执行的攻击命令(对应IP分组)嵌入在ICMP或UDP包头部,再发送给内部网路服务端lokid,由它执行其中的命令,并以同样的方式返回结果。由

  于许多防火墙允许ICMP和UDP分组自由出入,因此攻击者的恶意数据就能附带在正常的分组,绕过防火墙的认证,顺利地到达攻击目标主机下面的命令是用于启动lokid伺服器程式:

  lokid-p–I–vl

  loki用户程式则如下启动:

  loki–d172.29.11.191(攻击目标主机)-p–I–v1–t3

  这样,lokid和loki就联合提供了一个穿透防火墙系统访问目标系统的一个后门。

  2 利用FTP-pasv绕过防火墙认证的攻击

  FTP-pasv攻击是针对防火墙实施入侵的重要手段之一。目前很多防火墙不能过滤这种攻击手段。如CheckPoint的Firewall-1,在监视FTP伺服器发送给用户端的包的过程中,它在每个包中寻找"227"这个字元串。如果发现这种包,将从中提取目标地址和连接埠,并对目标地址加以验证,透过后,将允许建立到该地址的TCP连接。

  攻击者透过这个特性,可以设法连接受防火墙保护的伺服器和服务。详细的描述可见:http://www.checkpoint.com/techsupport/alerts/pasvftp.html。

  3 反弹木马攻击

  反弹木马是对付这种防火墙的最有效的方法。攻击者在内部网路的反弹木马定时地连接外部攻击者控制的主机,由于连接是从内部发起的,防火墙(任何的防火墙)都认为是一个合法的连接,因此基本上防火墙的盲区就是这里了。防火墙不能区分木马的连接和合法的连接。

  但是这种攻击的局限是:必须首先装设这个木马!!!所有的木马的第一步都是关键!!!

  四 攻击代理

  代理是运行在应用层的防火墙,他实质是启动两个连接,一个是用户到代理,另一个是代理到目的伺服器。

  实现上比较简单,和前面的一样也是根据规则过滤。由于运行在应用层速度比较慢/1

  攻击代理的方法很多。

  这里就以wingate为例,简单说说了。(太累了)

  WinGate是目前应用非常广泛的一种Windows95/NT代理防火墙软体,内部用户可以透过一台装设有WinGate的主机访问外部网路,但是它也存在着几个安全脆弱点。

  骇客经常利用这些安全漏洞获得WinGate的非授权Web、Socks和Telnet的访问,从而伪装成WinGate主机的身份对下一个攻击目标发动攻击。因此,这种攻击非常难于被跟踪和记录。

  导致WinGate安全漏洞的原因大多数是管理员没有根据网路的实际情况对WinGate代理防火墙软体进行合理的设定,只是简单地从缺省设定装设完毕后就让软体运行,这就给攻击者可乘之机。

  1 非授权Web访问

  某些WinGate版本(如运行在NT系统下的2.1d版本)在误配置情况下,允许外部主机完全匿名地访问互联网。因此,外部攻击者就可以利用WinGate主机来对Web伺服器发动各种Web攻击( 如CGI的漏洞攻击等),同时由于Web攻击的所有报文都是从80号Tcp连接埠穿过的,因此,很难追踪到攻击者的来源。

  侦测

  侦测WinGate主机是否有这种安全漏洞的方法如下:

  1) 以一个不会被过滤掉的连接(譬如说拨号连接)连接到互联网上。

  2) 把浏览器的代理伺服器地址指向待测试的WinGate主机。

  如果浏览器能访问到互联网,则WinGate主机存在着非授权Web访问漏洞。

  2 非授权Socks访问

  在WinGate的缺省配置中,Socks代理(1080号Tcp连接埠)同样是存在安全漏洞。与打开的Web代理(80号Tcp连接埠)一样,外部攻击者可以利用Socks代理访问互联网。


  防范

  要防止攻击WinGate的这个安全脆弱点,管理员可以限制特定服务的捆绑。在多宿主(multi homed)系统上,执行以下步骤以限定如何提供代理服务。

  1选择Socks或WWWProxyServer属性。

  2选择Bindings标签。

  3按下ConnectionsWillBeAcceptedOnTheFollowingInterfaceOnly按钮,并指定本WinGate伺服器的内部接口。

  非授权Telnet访问

  它是WinGate最具威胁的安全漏洞。透过连接到一个误配置的WinGate伺服器的Telnet服务,攻击者可以使用别人的主机隐藏自己的踪迹,随意地发动攻击。

  侦测

  侦测WinGate主机是否有这种安全漏洞的方法如下:

  1使用telnet尝试连接到一台WinGate伺服器。

  [root@happy/tmp]#telnet172.29.11.191

  Trying172.29.11.191….

  Connectedto172.29.11.191.

  Escapecharacteris‘^]’.

  Wingate>10.50.21.5


  2如果接受到如上的响应文本,那就输入待连接到的网站。


  3如果看到了该新系统的登录提示符,那么该伺服器是脆弱的。

  Connectedtohost10.50.21.5…Connected

  SunOS5.6

  Login:

  对策

  防止这种安全脆弱点的方法和防止非授权Socks访问的方法类似。在WinGate中简单地限制特定服务的捆绑就可以解决这个问题。一般来说,在多宿主(multihomed)系统管理员可以透过执行以下步骤来完成:

  1选择TelnetSever属性。

  2选择Bindings标签。

  3按下ConnectionsWillBeAcceptedOnTheFollowingInterfaceOnly按钮,并指定本WinGate伺服器的内部接口。


  五 后话

  有防火墙的攻击不单是上面的一点,我有什么写的不对的,大家指正。

  一直以来,骇客都在研究攻击防火墙的技术和手段,攻击的手法和技术越来越智能化和多样化。但是就骇客攻击防火墙的过程上看,大概可以分为三类攻击。

  第一类攻击防火墙的方法是探测在目标网路上装设的是何种防火墙系统并且找出此防火墙系统允许哪些服务。我们叫它为对防火墙的探测攻击。

  第二类攻击防火墙的方法是采取地址欺骗、TCP序号攻击等手法绕过防火墙的认证机制,从而 对防火墙和内部网路破坏。

  第三类攻击防火墙的方法是寻找、利用防火墙系统实现和设计上的安全漏洞,从而有针对性地发动攻击。这种攻击难度比较大,可是破坏性很大。



爸爸 你一路好走
献花 x0 回到顶端 [楼 主] From:台湾 | Posted:2006-10-31 14:45 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.020645 second(s),query:15 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言