网络安全技术详解 跳板攻击与防御

网络安全技术详解 跳板攻击与防御 - 网络安全 - 电脑教程网

网络安全技术详解 跳板攻击与防御

日期:2007-02-19   荐:
  黑客在进行攻击时会借用其他系统来达到自己的目的,如对下一目标的攻击和被侵占计算机本身的利用等等。本文介绍了常见的黑客对被侵占计算机的使用方式和安全管理员相应的应对方法。

  黑客进行网络攻击时,除了自己手中直接操作的计算机外,往往在攻击进行时和完成之后利用、控制其他的计算机。他们或者是借此达到攻击的目的,或者是把这些计算机派做其他的用途。本文汇总描述了黑客各种利用其他计算机的手段,希望网络与系统管理员能通过了解 这些攻击办法来达到更好地进行安全防范的目的。

  一、对“肉鸡”的利用

  “肉鸡”这个词被黑客专门用来描述Internet上那些防护性差,易于被攻破而且控制的计算机。

  1.1、本身数据被获取

  原理介绍

  这是一台计算机被攻破并完全控制之后,黑客要做的第一件事。很多黑客宣称自己是非恶意的,只是对计算机安全感兴趣,在进入别人的计算机时,不会进行破坏、删除、篡改等操作。甚至还有更"好心"一些的黑客会为这些计算机打补丁,做一些安全加强。

  但是他们都回避了一个问题,那就是对这些计算机上本身保存的数据如何处理。确实,对别人的计算机进行破坏这种损人不利已的事情对这大多数黑客来讲没有太大意思,不过他们都不会反对把“肉鸡”上的数据弄回来保存。这时黑客再说"没有进行破坏"是说不过去的,根据计算机安全的基本原则,当数据的"完整性、可用性和机密性"中任意三者之一在受到破坏的时候,都应视为安全受到了破坏。在被占领的计算机上可能会保存着用户信息、网络拓扑图、商业秘密、财务报表、军事情报和其他各类需要保密的数据,黑客获得这些数据(即使只是查看数据的内容而不下载)时正是破坏了保密性。在实际情 况中,很多商业间谍和政治间谍都是这一类,他们只是默默地拿走你的数据而绝不做任何的破坏,而且尽最大可能地掩盖自己行动的痕迹。这些黑客希望长时间大量地得到珍贵的数据而不被发觉,这其实是最可怕的一种攻击行为。

  很多黑客会在“肉鸡”上安装FTP软件或者开放FTP服务,再下载其数据,但安装软件和开放服务这样的动作很容易在系统中的各类日志留下记录,有可能被发现。而不希望被人发觉的黑客会自己建立一台FTP服务器,让“肉鸡”做为客户端把自己的数据上传过来。

  防御方法

  防止本身数据资料不被窃取,当然首先要考虑的是计算机本身不被攻破。如果自己是铁桶一个,水泼不进,黑客无法在你的网络中的计算机取得任何访问的权限,当然就杜绝了绝大多数的泄密可能(请注意,这时候还是有可能会泄密的!比如被黑客欺骗而将数据发送出去) 。我们先来看一下如何加强自己的计算机的操作系统,对于所有需要事先控制的攻击方式,这些手段都是有效的,在以后的章节中就不重复说明了。

  简单地说,对于操作系统的加强,无论是Windows、Unix或是Linux,都可以从物理安全、文件系统、帐号管理、网络设置和应用服务几个方面来考虑,在这里我们不详细讨论全面的安全防护方案,只是提供一些简单实用的系统安全检查项目。这是安全的必 要条件,而不是充分条件。

  物理安全

  简单地说,物理安全就是你的计算机所在的物理环境是否可靠,会不会受到自然灾害(如火灾、水灾、雷电等)和人为的破坏(失窃、破坏)等。物理安全并不完全是系统或者网络管理员的责任,还需要公司的其他部门如行政、保安等一起协作,不过因为这是其他安全手段 的基础,所以我们网管员还是应该密切注意的。要特别保证所有的重要设备与服务器要集中在机房里,并制订机房相关制度,无关人员不得进入机房等。网管员无特殊情况也不要进入机房,需要可以从外面的指定终端进行管理。

  如果重要的服务器暴露在人人都可以接近的外部,那么无论你的口令设得多么强大都没用了,各种操作系统都可以用软盘、光盘启动来破解密码。

  文件系统安全

  文件和目录的权限设置得是否正确,对系统中那些重要的文件,权限要重新设置;

  在Unix与Linux系统中,还要注意文件的setuid和setgid权限,是否有不适合的文件被赋予了这些权限;

[1] [2] [3] [4] [5]  

  帐号系统安全

  帐号信息,用户名和密码是否合乎规则,具有足够的复杂程度。不要把权限给予任何没有必要的人;
  在Unix/Linux中可以合理地使用su与sudo;
  关闭无用账号;

  网络系统安全

  关闭一切不必要的服务。这一点不必多说了吧,每个开放的服务就象一扇开启的门,都有可能会被黑客悄悄地进入;
  网络接口特性。注意网卡不要处在监听的混杂模式;
  防止DoS的网络设置。禁止IP转发、不转发定向广播、限定多宿主机、忽略和不发送重定向包、关闭时间戳响应、不响应Echo广播、地址掩码广播、不转发设置了源路由的包、加快ARP表过期时间、提高未连接队列的大小、提高已连接队列的大小;
  禁用r*命令和telnet命令,用加密的SSH来远程管理;
  对NIS/NIS+进行安全设置;
  对NFS进行安全设置;

  应用服务安全

  应用服务是服务器存在的原因,又是经常会产生问题的地方。因为应用服务的种类太多,这里无法一一叙述,就请大家注意一下这方面的资料吧。如果有可能,我会在今后继续提供一些相关知识。可以肯定地说,没有一种应用程序是完全安全的,必须依靠我们去重新设置。

  对于防止数据被窃取,也有手段可以采用,使黑客侵入计算机之后不能盗窃数据和资料。这就是访问控制和加密。系统访问控制需要软件来实现,可以限制root的权限,把那些重要的数据设置为除了特殊用户外,连root都无法访问,这样即使黑客成为root也没 有用。加密的手段有很多,这里也不详细介绍了,文件通过加密会以密文的形式存放在硬盘中,如果不能正确解密,就是一堆没有任何意义的字符,黑客就算拿到了也没有用。

  1.2、非法proxy

  原理介绍

  Proxy代理技术在提高Internet访问速度与效率上有很大作用,在这种技术的基础之上又出现了Cache Server等Internet访问优化技术,但Proxy也被黑客利用来进行非法活动。黑客把“肉鸡”设置为Proxy一般有两个目的,首先与正常Proxy的目的一样,是利用它更好地访问Internet,进行WWW浏览;其次就是利用这台Proxy “肉鸡”的特殊位置绕过一些访问的限制。

  普通的WWW Proxy其实在Internet上是很常见的,一些计算机免费而且开放地为所有计算机提供WWW Proxy服务,如果黑客想得到一台合适的Proxy时,并不需要自己亲自去攻击计算机并安装Proxy软件,只需利用这些现成的Proxy计算机就可以了。在骇软站点上,有很多Proxy Hunter之类的软件,输入某个网段就可以运行去自动搜索已经存在的Proxy计算机了。虽然Proxy本身并不会被攻击,但是运行Proxy服务,在客户端连接数目多的时候会造成很大的负担。而且一些攻击如Unicode、Lotus Notes、ASP攻击也正是通过HTTP协议进行的,最终被攻击者会把Proxy服务器当做攻击的来源,换句话说,Proxy服务器会成为这些攻击者的替罪羊。所以最好不要向外提供开放的Proxy服务,即使因为需要而开放了,也应加以严格的限制。

  利用Proxy绕过一些访问限制,在“肉鸡”的利用中也是很常见的。举个实例来说,某个公司为了提高工作效率,不允许员工使用QQ聊天,指示在公司的防火墙上限制了所有由内向外对UDP 8000这个端口的访问,这样内部就无法向外连接Internet上的QQ服务器进行聊天了。但黑客利用自己设置的QQ Proxy就可以绕过这个限制正常访问QQ服务器。
图一 黑客利用QQ Proxy绕过访问限制

  如图一,QQ Proxy同WWW Proxy的设置和使用方法是一样的。在有了Internet上的QQ Proxy时,黑客在公司内部向外访问QQ Proxy的UDP 18000端口,这是不被禁止的。而QQ Proxy会以客户端的身份向真正的访问目标-QQ服务器进行访问,然后把信息从UDP 18000端口向黑客计算机转回去。这样,黑客就利用Proxy实现了对访问限制的突破。

  还可以利用这个原理进行其他协议限制的绕过,如WWW、ICQ、MSN、Yahoo Messager、AOL等,只要Proxy软件支持。

 [1] [2] [3] [4] [5]  


  防御方法

  我们设立任何类型的Proxy服务器时,应当对客户端有所限制,不向无关的人员提供使用权限。这样提高了服务器的效率,又杜绝了黑客借我们的Proxy进行攻击的可能。

  防止内部人员利用外部的Proxy时,可以在防火墙上严格限制,只能对外部规定站点的规定服务进行访问。当然这样有可能造成业务上的不便,所以在具体环境下要具体考虑,综合地权衡。

  1.3、黑客交流平台

  原理介绍

  大家会问那么黑客直接发电子邮件、上ICQ不就行了吗?何必去冒险攻击其他的计算机做为交流平台呢。请注意黑客之间传播的都是一些不能被别人知道的信息,如"我已经控制了XXX省网的骨干路由器,你想要一份它的路由表吗?",这样的内容如果在任何一个邮件服务器和聊天服务器上被截获,从道义上讲这个网管都是有义务提醒被攻击的网络负责人的,所以利用公共的网络交流手段对黑客来说并不可靠,黑客也要保密啊:-) 。那怎么办?黑客既然控制了“肉鸡”,成为了“肉鸡”的第二个"家长",就有资格和权限去把它设置为交流用的服务器。在这样的交流平台上,黑客被发现的可能性小得多,最高的控制权限可以使黑客对这些活动进行各种各样的掩饰。还有另一种利用形式就是FTP服务器,供黑客兄弟们上传下载黑客软件,互通有无。

  黑客在“肉鸡”上做信息交换的时候,会产生大量的网络通信,尤其是利用FTP上传下载时。如果发现你的内外部通信突然反常地加大,检查一下自己的计算机吧。

  防卫性差的“肉鸡”其管理员一般水平也不会很高,再加上缺乏责任心,往往在自己的计算机被占领了很长时间都不知道,直到有一天收到了高额的数据通信收费单,才大吃一惊:"怎么搞的?!"。- 难道他们自己就没有责任吗?

  防御方法

  安全不安全很大程度上取决于管理员是否尽职尽责,好的管理员必须有好的习惯。

  1.4、学习/开发平台

  原理介绍

  这种情况是比较少见的,却很有意思。我们平时使用的是个人计算机,一般可以安装Windows、FreeBSD、Linux和其他Unix系统的x86版本,如果要实习其他平台上的操作系统几乎是不可能的。象AIX、HP-UX、Solaris(sparc)、IRIX等,都需要相应的硬件平台来配套,普通的个人计算机是装不上的,这些知名厂商的Unix计算机又非常昂贵,成了一般计算机爱好者可望不可及的宝物。黑客兄弟们在这里又有了大显身手的时候了,到网上找到一些可以 侵入的AIX什么的机器,占领之后,想学习这种平台的操作使用还不是很简单的事吗?我曾在一个黑客站点上看到有人转让一台Sun E250“肉鸡”的控制权,开价300块,可怜那个管理员,自己的机器已经被公开出售了还不知道。

  黑客在“肉鸡”上做开发就更少见了,因为这样做会有很大的风险。许黑客都没有全职的工作,他们中的很多人都是编程高手,会通过朋友和其他渠道揽一些程序开发的活计,挣些零花钱。很多定制的程序是要跑在特定平台上的,如果一个程序需要在HP-UX平台上开发调试怎么办?HP-UX计算机是很少能找到的。但黑客又可以利用自己的"特长"去攻下一台,做为开发平台。不过我们都知道开发调试程序的时候会有各种种样的bug,轻则导致程序不正常,重则让系统崩溃,还会在日志里留下记录。这就是为什么说这么做很危险,因为它太容易被发现了。要是一台计算机被当做开发平台用了很久而管理员却一无所 知的话,这个管理员实在应该好好反省。

  防御方法

  方法同前一部分,就不必多说了。关心你的服务器吧。

  二、利用“肉鸡”进行攻击

  下面介绍一下黑客利用“肉鸡”来攻击时的几种方式。

  2.1非法扫描/监听平台

  原理介绍

  图二 “肉鸡”在防火墙内部进行扫描


  请看一下前后两种情况的对比。防火墙是很常见的网络安全设备,在网络入口处起到了一个安全屏障的作用,尤其在黑客进行扫描的时候防火墙将堵住对绝大多数端口的探测。这时“肉鸡”就有了用武之地,从这里扫描本地网络中的其他计算机是不需要经过防火墙的,可以 随便地查看它们的漏洞。而且这时候防火墙上也不会留下相应的日志,不易被发觉。黑客可以在扫描结束时返回“肉鸡”取一下结果,或者命令“肉鸡”把扫描结果直接用电子邮件发送到指定信箱。

  对于在某个网络中进行非法监听来说,本地有一台“肉鸡”是必须的条件。由于以太网的设计特点,监听只能在本地进行。虽然随着交换式以太网的普及,网络非法监听能收集到的信息大大减少,但对于那些与非法监听软件所在的“肉鸡”通讯的计算机来说,威胁还是很大 的。如果这个“肉鸡”本身还是一台重要的服务器,那么危害就更大了,黑客在这上面会得到很多诸如用户帐号、密码、服务器之间不合理的信任关系的信息等,对下一步攻击起到很大的辅助作用。

  防御方法

  防止扫描一般主要设置在防火墙上,除了内部那些开放了的服务以外,不允许其他的访问进入,可以最大限度地防止信息泄露。至于同一网段上某个服务器成了“肉鸡”,一般情况下是没法防止它扫描其他服务器了,这就需要我们的防御方向不但要向外,也要向内。关闭每 一台计算机上不需要的服务,进行安全加强,让内部的非法扫描器找不到可以利用的漏洞。

 [1] [2] [3] [4] [5]  


  防御监听一般使用网络传输加密和交换式网络设备。管理员远程登录系统时候,还是有很多人喜欢使用默认的telnet,这种明文传输的协议是黑客的最爱。使用SSH代替telnet和那些r命令,可以使网络上传输的数据成为不可读的密文,保护你的帐号、口令 和其他重要的信息。交换式网络设备可以使单个计算机接收到的无用信息大大减少,从而降低非法监听器的危害性。不过相对来说,它的成本还是比较高的。

  2.2 攻击的实际出发点

  原理介绍

  如果说“肉鸡”做为扫描工具的时候象黑客的一只眼睛,做监听工具的时候象黑客的一只耳朵,那么“肉鸡”实际进攻时就是黑客的一只手。黑客借助“肉鸡”这个内应来听来看,来攻击,而“肉鸡”成为了提线木偶,举手投足都被人从选程看不到的地方控制着。

  防御方法

  也是需要对计算机进行严密的监视。请参考前面的内容。

  2.3 DDoS攻击傀儡

  关于黑客利用“肉鸡”进行DDoS攻击的手段就不再赘述了,详见IBM DeveloperWorks曾经刊登的文章《分布式拒绝服务攻击(DDoS)原理及防范》

  2.4端口跳转攻击平台

  原理介绍

  只用文字描述比较抽象,我们来看一个例子。

  这是一个我们在实际的安全响应中的处理过程,这里黑客使用了组合式的攻击手段,其中包括对Windows服务器常见的139端口攻击,对Solaris系统的溢出攻击,攻击前的信息收集,还有2.4要里着重介绍的端口跳转攻击的方式。图三(A) 网络初始结构

  如图三A,客户方的系统管理员发现一台windows 2000服务器的行为异常后,马上切断了这台服务器的网络连接并向我们报告,这是当时的网络拓扑结构。经过仔细的诊断,我们推断出黑客是利用了这台服务器的139端口漏洞,从远程利用nBTdump、口 令猜测工具、Windows net命令等取得了这台服务器的控制权,并安装了BO 2000木马。但客户的系统管理员立刻否定我们的判断:"虽然这台服务器的139端口没有关闭,但我已经在防火墙上设置了规则,使外部计算机不能访问这台服务器的139端口。"又是一个只防范外部攻击的手段!难道大家都对内部攻击占70%以上的比率视而不见吗?不过这里的路由器日志显示,黑客确实是从外部向这台服务器的木马端口进行连接的。 我们于是继续汇总分析各方面的数据,客户管理员也配合我们进行检查。在检查网络上的其他主机时,我们发现内部网中有一台SUN工作站的网卡上绑定了3个IP地址,其中一个IP地址与被攻击Windows服务器是一个网段的!这立刻引起了我们的注意。客户管 理员解释说这是一台Solaris Sparc机器,经常用来做一些测试,有时也会接入服务器网段,所以配了一个该网段的地址。而且就在一个多星期前,这台SUN工作站还放在服务器网段。这就很可疑了,我们立刻对它进行了检查,果然这台SUN工作站已经被占领了,因为主要用途是测试,客户管 理员并没有对它进行安全加强,攻破它是易如反掌的事情。在它上面发现了大量的扫描、监听和日志清除工具,另外还有我们意料之中的端口跳转工具 - netcat,简称nc。


  至此问题就比较清楚了:黑客首先占领了这台毫不设防的SUN机,然后上载nc,设置端口跳转,攻击Windows 2000服务器的139端口,并且成功地拿下了它。还原当时的网络拓扑图应该是这样的,如图三B。

  图三C 利用“肉鸡”跳板进行端口跳转


  图三C解释了端口跳板是如何起作用的。nc安装后,黑客就会通过定制一些运行参数,在“肉鸡”的后台建立起由“肉鸡”的2139端口到目标计算机的139端口的跳转。这就象是一条虚拟的通道,由“肉鸡”的2139端口通向目标的139端口,任何向“肉鸡” 的2139进行的访问都会自动地转发到目标计算机的139端口上去。就是说,访问“肉鸡”的2139端口,就是在访问目标的139端口。反过来,目标计算机的回馈信息也会通过“肉鸡”的通道向黑客计算机返回。

  图三D 黑客通过两次跳转绕过防火墙对139端口的阻止

  图三D是我们分析后还原的nc端口跳转攻击拓扑图,黑客在这里需要两次端口跳转,第一次是利用自己的linux计算机把对139端口的访问向SUN的2139端口发送,这样就绕过了防火墙对139端口的访问限制。然后SUN会把对自己2139端口的访问发 送到攻击最终目标的139端口上。为什么图中的"黑客"计算机不直接访问SUN的2139端口,而需要linux多跳转一次呢?这是由于象net、nbtdump、远程口令猜测等手段都是默认针对139端口而且黑客无法改变的。

 [1] [2] [3] [4] [5]  


  在这两个端口跳板准备好了之后,黑客只要访问自己的linux机器上的139端口,就可以对目标的Windows服务器进行攻击了,“肉鸡”的作用巨大啊。据了解这台SUN工作站当时在服务器网段中只接入了三天不到的时间就搬到内部网里了,可见黑客对这个 网段的情况变化的掌握速度是很快的,管理员们不要因为只是临时接入而忽略了安全。我们随后又在路由器上找到了当时黑客远程向SUN机的2139端口连接的日志,至此就完全清楚了。

  防御方法

  三、攻击时直接借用

  与上述各类情况不同,直接利用其他计算机做为攻击平台时,黑客并不需要首先入侵这些被利用的计算机,而是误导它们去攻击目标。黑客在这里利用了TCP/IP协议和操作系统本身的缺点漏洞,这种攻击更难防范,特别是制止,尤其是后面两种反射式分布拒绝服务攻击和DNS分布拒绝服务攻击。

  3.1 Smurf攻击

  原理介绍

  Smurf攻击是这种攻击的早期形式,是一种在局域网中的攻击手段。它的作用原理是基于广播地址与回应请求的。一台计算机向另一台计算机发送一些特殊的数据包如ping请求时,会接到它的回应;如果向本网络的广播地址发送请求包,实际上会到达网络上所有的 计算机,这时就会得到所有计算机的回应。这些回应是需要被接收的计算机处理的,每处理一个就要占用一份系统资源,如果同时接到网络上所有计算机的回应,接收方的系统是有可能吃不消的,就象遭到了DDoS攻击一样。大家会疑问,谁会无聊得去向网络地址发包而 招来所有计算机的攻击呢?

  当然做为一个正常的操作者是不会这么做的,但是当黑客要利用这个原理进行Smurf攻击的时候,他会代替受害者来做这件事。
图四 Smurf攻击原理

  如图四,黑客向广播地址发送请求包,所有的计算机得到请求后,却不会把回应发到黑客那里,而是被攻击的计算机处。这是因为黑客冒充了被攻击主机。黑客发包所用的软件是可以伪造源地址的,接到伪造数据包的主机会根据源地址把回应发出去,这当然就是被攻击目标 的地址。黑客同时还会把发包的间隔减到几毫秒,这样在单位时间能发出数以千计的请求,使受害者接到被欺骗计算机那里传来的洪水般的回应。象遭到其他类型的拒绝服务攻击一样,被攻击主机会网络和系统无法响应,严重时还会导致系统崩溃。

  黑客借助了网络中所有计算机来攻击受害者,而不需要事先去占领这些被欺骗的主机。

  在实际使用中,黑客不会笨到在本地局域网中干这件事的,那样很容易被查出。他们会从远程发送广播包到目标计算机所在的网络来进行攻击。

  防御方法

  局域网中是不必进行Smurf攻击的防御的。我们只需在路由器上进行设置,在收到定向广播数据包时将其丢弃就可以了,这样本地广播地址收不到请求包,Smurf攻击就无从谈起。注意还要把网络中有条件成为路由器的多宿主主机(多块网卡)进行系统设置,让它 们不接收和转发这样的广播包。

  3.2 DrDoS(反射式分布拒绝服务攻击)

  原理介绍

  具体的情况可以参考Smurf攻击的原理结构图四。

  防御方法

  《分布式拒绝服务攻击(DDoS)原理及防范》

  3.3 DNS分布拒绝服务攻击

  原理介绍

  DNS拒绝服务攻击原理同DrDoS攻击相同,只是在这里被欺骗利用的不是一般的计算机,而是DNS服务器。黑客通过向多个DNS服务器发送大量的伪造的查询请求,查询请求数据包中的源IP地址为被攻击主机的IP地址,DNS服务器将大量的查询结果发送给 被攻击主机,使被攻击主机所在的网络拥塞或不再对外提供服务。

  防御方法

  通过限制查询主机的IP地址可以减轻这种攻击的影响,比较糟糕的是在现实环境中这么做的DNS服务器很少。目前不能从根本上解决这个问题。另外可以从自己的网络设备上监视和限制对DNS查询请求的回应,如果突然出现流量剧增的情况,限制一下到达DNS服务 器的查询请求,这样可以避免自己管理的服务器被欺骗而去攻击无辜者。

(出处:http://www.sheup.com)


 [1] [2] [3] [4] [5] 

标签: