二、利用“肉鸡”进行攻击
前面说的都是黑客如何利用“肉鸡”做一些其他的事情,在第二大部分里就要谈一下黑客是如何利用“肉鸡”进行攻击其他计算机和网络行为的。黑客利用“肉鸡”攻击的原因主要有两个:首先是万一攻击行为被下一个目标发现了,对方管理员在追查的时候只能找到这台“肉鸡”,而不能直接抓出黑客自己,这为对方管理员追究责任造成了更大的困难;其次,对于某些类型的攻击手段,“肉鸡”所在的位置也许比黑客计算机所在的位置更有利。
下面介绍一下黑客利用“肉鸡”来攻击时的几种方式。
2.1非法扫描/监听平台
原理介绍
扫描和监听是黑客对“肉鸡”最常使用的借用手段,目标是本网络和其他网络中的计算机。被攻击网络中总有一台计算机会被首先攻破,一旦打开了这个缺口,整个网络就都危险了。这是由于在大多数的网络进行安全设置时,主要的防卫方向是向外的,也就是说他们主要是防备外来的攻击。黑客可以利用其对内部计算机防备较少的弱点,在控制一台计算机后,从这里直接扫描。如图二
图二 “肉鸡”在防火墙内部进行扫描
请看一下前后两种情况的对比。防火墙是很常见的网络安全设备,在网络入口处起到了一个安全屏障的作用,尤其在黑客进行扫描的时候防火墙将堵住对绝大多数端口的探测。这时“肉鸡”就有了用武之地,从这里扫描本地网络中的其他计算机是不需要经过防火墙的,可以随便地查看它们的漏洞。而且这时候防火墙上也不会留下相应的日志,不易被发觉。黑客可以在扫描结束时返回“肉鸡”取一下结果,或者命令“肉鸡”把扫描结果直接用电子邮件发送到指定信箱。
对于在某个网络中进行非法监听来说,本地有一台“肉鸡”是必须的条件。由于以太网的设计特点,监听只能在本地进行。虽然随着交换式以太网的普及,网络非法监听能收集到的信息大大减少,但对于那些与非法监听软件所在的“肉鸡”通讯的计算机来说,威胁还是很大的。如果这个“肉鸡”本身还是一台重要的服务器,那么危害就更大了,黑客在这上面会得到很多诸如用户帐号、密码、服务器之间不合理的信任关系的信息等,对下一步攻击起到很大的辅助作用。
防御方法
防止扫描一般主要设置在防火墙上,除了内部那些开放了的服务以外,不允许其他的访问进入,可以最大限度地防止信息泄露。至于同一网段上某个服务器成了“肉鸡”,一般情况下是没法防止它扫描其他服务器了,这就需要我们的防御方向不但要向外,也要向内。关闭每一台计算机上不需要的服务,进行安全加强,让内部的非法扫描器找不到可以利用的漏洞。
防御监听一般使用网络传输加密和交换式网络设备。管理员远程登录系统时候,还是有很多人喜欢使用默认的telnet,这种明文传输的协议是黑客的最爱。使用SSH代替telnet和那些r命令,可以使网络上传输的数据成为不可读的密文,保护你的帐号、口令和其他重要的信息。交换式网络设备可以使单个计算机接收到的无用信息大大减少,从而降低非法监听器的危害性。不过相对来说,它的成本还是比较高的。
2.2 攻击的实际出发点
原理介绍
这里所说的攻击是指那些取得其他计算机控制权的动作,如溢出和漏洞攻击等。与扫描监听相同,从内部的“肉鸡”发起的攻击同样不必经过防火墙,被阻挡和发现的可能减少了。从这里攻击时被发现了之后,追查时会找到黑客吗?同样也不行,只能先找到“肉鸡”,再从这里找黑客就困难了。
如果说“肉鸡”做为扫描工具的时候象黑客的一只眼睛,做监听工具的时候象黑客的一只耳朵,那么“肉鸡”实际进攻时就是黑客的一只手。黑客借助“肉鸡”这个内应来听来看,来攻击,而“肉鸡”成为了提线木偶,举手投足都被人从选程看不到的地方控制着。
防御方法
也是需要对计算机进行严密的监视。请参考前面的内容。
2.3 DDoS攻击傀儡
关于黑客利用“肉鸡”进行DDoS攻击的手段就不再赘述了,详见《
图三(A) 网络初始结构
如图三A,客户方的系统管理员发现一台Windows2000服务器的行为异常后,马上切断了这台服务器的网络连接并向我们报告,这是当时的网络拓扑结构。经过仔细的诊断,我们推断出黑客是利用了这台服务器的139端口漏洞,从远程利用nbtdump、口令猜测工具、Windows net命令等取得了这台服务器的控制权,并安装了BO 2000木马。但客户的系统管理员立刻否定我们的判断:"虽然这台服务器的139端口没有关闭,但我已经在防火墙上设置了规则,使外部计算机不能访问这台服务器的139端口。"又是一个只防范外部攻击的手段!难道大家都对内部攻击占70%以上的比率视而不见吗?不过这里的路由器日志显示,黑客确实是从外部向这台服务器的木马端口进行连接的。难道黑客用了我们还不了解的新的攻击手段?
我们于是继续汇总分析各方面的数据,客户管理员也配合我们进行检查。在检查网络上的其他主机时,我们发现内部网中有一台SUN工作站的网卡上绑定了3个IP地址,其中一个IP地址与被攻击Windows服务器是一个网段的!这立刻引起了我们的注意。客户管理员解释说这是一台Solaris Sparc机器,经常用来做一些测试,有时也会接入服务器网段,所以配了一个该网段的地址。而且就在一个多星期前,这台SUN工作站还放在服务器网段。这就很可疑了,我们立刻对它进行了检查,果然这台SUN工作站已经被占领了,因为主要用途是测试,客户管理员并没有对它进行安全加强,攻破它是易如反掌的事情。在它上面发现了大量的扫描、监听和日志清除工具,另外还有我们意料之中的端口跳转工具 - netcat,简称nc。
图三B “肉鸡”跳板主板被临时放置在目标服务器的同一网段
至此问题就比较清楚了:黑客首先占领了这台毫不设防的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端口而且黑客无法改变的。
在这两个端口跳板准备好了之后,黑客只要访问自己的linux机器上的139端口,就可以对目标的Windows服务器进行攻击了,“肉鸡”的作用巨大啊。据了解这台SUN工作站当时在服务器网段中只接入了三天不到的时间就搬到内部网里了,可见黑客对这个网段的情况变化的掌握速度是很快的,管理员们不要因为只是临时接入而忽略了安全。我们随后又在路由器上找到了当时黑客远程向SUN机的2139端口连接的日志,至此就完全清楚了。
防御方法
对于这种端口跳转攻击,除了加强内部主机,不使其侵入系统之外,还应对防火墙的规则进行严格的设置。设置规则可以按照先全部禁止,再单个放开的方法。这样即使黑客从非危险的端口连接过来时,也会被防火墙禁止掉。
三、攻击时直接借用
与上述各类情况不同,直接利用其他计算机做为攻击平台时,黑客并不需要首先入侵这些被利用的计算机,而是误导它们去攻击目标。黑客在这里利用了TCP/IP协议和操作系统本身的缺点漏洞,这种攻击更难防范,特别是制止,尤其是后面两种反射式分布拒绝服务攻击和DNS分布拒绝服务攻击。
3.1 Smurf攻击
原理介绍
Smurf攻击是这种攻击的早期形式,是一种在局域网中的攻击手段。它的作用原理是基于广播地址与回应请求的。一台计算机向另一台计算机发送一些特殊的数据包如ping请求时,会接到它的回应;如果向本网络的广播地址发送请求包,实际上会到达网络上所有的计算机,这时就会得到所有计算机的回应。这些回应是需要被接收的计算机处理的,每处理一个就要占用一份系统资源,如果同时接到网络上所有计算机的回应,接收方的系统是有可能吃不消的,就象遭到了DDoS攻击一样。大家会疑问,谁会无聊得去向网络地址发包而招来所有计算机的攻击呢?
当然做为一个正常的操作者是不会这么做的,但是当黑客要利用这个原理进行Smurf攻击的时候,他会代替受害者来做这件事。
图四 Smurf攻击原理
如图四,黑客向广播地址发送请求包,所有的计算机得到请求后,却不会把回应发到黑客那里,而是被攻击的计算机处。这是因为黑客冒充了被攻击主机。黑客发包所用的软件是可以伪造源地址的,接到伪造数据包的主机会根据源地址把回应发出去,这当然就是被攻击目标的地址。黑客同时还会把发包的间隔减到几毫秒,这样在单位时间能发出数以千计的请求,使受害者接到被欺骗计算机那里传来的洪水般的回应。象遭到其他类型的拒绝服务攻击一样,被攻击主机会网络和系统无法响应,严重时还会导致系统崩溃。
黑客借助了网络中所有计算机来攻击受害者,而不需要事先去占领这些被欺骗的主机。
在实际使用中,黑客不会笨到在本地局域网中干这件事的,那样很容易被查出。他们会从远程发送广播包到目标计算机所在的网络来进行攻击。
防御方法
局域网中是不必进行Smurf攻击的防御的。我们只需在路由器上进行设置,在收到定向广播数据包时将其丢弃就可以了,这样本地广播地址收不到请求包,Smurf攻击就无从谈起。注意还要把网络中有条件成为路由器的多宿主主机(多块网卡)进行系统设置,让它们不接收和转发这样的广播包。
3.2 DrDoS(反射式分布拒绝服务攻击)
原理介绍
这是DDoS攻击的变形,它与DDoS的不同之处就是DrDoS不需要在实际攻击之前占领大量的傀儡机。这种攻击也是在伪造数据包源地址的情况下进行的,从这一点上说与Smurf攻击一样,而DrDoS是可以在广域网上进行的。其名称中的"r"意为反射,就是这种攻击行为最大的特点。黑客同样利用特殊的发包工具,首先把伪造了源地址的SYN连接请求包发送到那些被欺骗的计算机上,根据TCP三次握手的规则,这些计算机会向源IP发出SYN+ACK或RST包来响应这个请求。同Smurf攻击一样,黑客所发送的请求包的源IP地址是被害者的地址,这样受欺骗的计算机就都会把回应发到受害者处,造成该主机忙于处理这些回应而被拒绝服务攻击。
具体的情况可以参考Smurf攻击的原理结构图四。
防御方法
同DDoS的防御,请参考《DDoS攻击原理及防范》
3.3 DNS分布拒绝服务攻击
原理介绍
DNS拒绝服务攻击原理同DrDoS攻击相同,只是在这里被欺骗利用的不是一般的计算机,而是DNS服务器。黑客通过向多个DNS服务器发送大量的伪造的查询请求,查询请求数据包中的源IP地址为被攻击主机的IP地址,DNS服务器将大量的查询结果发送给被攻击主机,使被攻击主机所在的网络拥塞或不再对外提供服务。
防御方法
通过限制查询主机的IP地址可以减轻这种攻击的影响,比较糟糕的是在现实环境中这么做的DNS服务器很少。目前不能从根本上解决这个问题。另外可以从自己的网络设备上监视和限制对DNS查询请求的回应,如果突然出现流量剧增的情况,限制一下到达DNS服务器的查询请求,这样可以避免自己管理的服务器被欺骗而去攻击无辜者。