DoS攻击工具原理分析[分布式拒绝服务(DDoS)攻击工具基本技术原理及其发展]

发表于:2007-05-25来源:作者:点击数: 标签:分析工具分布式DOS攻击
拒绝服务 攻击的英文意思是Denial of Service,简称DoS。这种攻击行动使网站 服务器 充斥大量要求回复的信息,消耗网络带宽或系 统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。 以下的图示可解释这类攻击的过程,以及公司、企业应如何

    拒绝服务攻击的英文意思是Denial of Service,简称DoS。这种攻击行动使网站服务器充斥大量要求回复的信息,消耗网络带宽或系 统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。


    以下的图示可解释这类攻击的过程,以及公司、企业应如何加以防范。


拒绝服务”是如何攻击的

    通过普通的网络连线,使用者传送信息要求服务器予以确定。服务器于是回复用户。用户被确定后,就可登入服务器。

    “拒绝服务”的攻击方式为:用户传送众多要求确认的信息到服务器,使服务器里充斥着这种无用的信息。所有的信息都有需回复的 虚假地址,以至于当服务器试图回传时,却无法找到用户。服务器于是暂时等候,有时超过一分钟,然后再切断连接。服务器切断连接 时,黑客再度传送新一批需要确认的信息,这个过程周而复始,最终导致服务器无法动弹,瘫痪在地。


如何阻挡“拒绝服务”的攻击

    阻挡“拒绝服务”的攻击的常用方法之一是:在网络上建立一个过滤器(filter)或侦测器(sniffer),在信息到达网站服务器之 前阻挡信息。过滤器会侦察可疑的攻击行动。如果某种可疑行动经常出现,过滤器能接受指示,阻挡包含那种信息,让网站服务器的对外 连接线路保持畅通。



分布式拒绝服务攻击
------------------

    分布式拒绝服务攻击的英文意思是Distributed Denial of Service,简称DDoS。
    以下是一个典型的分布式拒绝服务攻击网络结构图:

    攻击者在Client(客户端)操纵攻击过程。每个Handler(主控端)是一台已被入侵并运行了特定程序的系统主机。每个主控端主机 能够控制多个Agent(代理端)。每个代理端也是一台已被入侵并运行另和种特定程序的系统主机。每个响应攻击命令的代理端会向被攻 击目标主机发送拒绝服务攻击数据包。
  
    至今为止,攻击者最常使用的分布式拒绝服务攻击程序包括4种:Trinoo、TFN、TFN2K和Stacheldraht。
  
    为了提高分布式拒绝服务攻击的成功率,攻击者需要控制成百上千的被入侵主机。这些主机通常是Linux和SUN机器,但这些攻击工 具也能够移植到其它平台上运行。这些攻击工具入侵主机和安装程序的过程都是自动化的。这个过程可分为以下几个步骤:
  
    1、探测扫描大量主机以寻找可入侵主机目标。

    2、入侵有安全漏洞的主机并获取控制权。

    3、在每台入侵主机中安装攻击程序。

    4、利用已入侵主机继续进行扫描和入侵。

    由于整个过程是自动化的,攻击者能够在5秒钟内入侵一台主机并安装攻击工具。也就是说,在短短的一小时内可以入侵数千台主 机。



几种常见分布式拒绝服务攻击工具的特征
------------------------------------

    以下是攻击者常用的分布式拒绝服务攻击工具:

◆ Trinoo

   客户端、主控端和代理端主机相互间通讯时使用如下端口:

        1524  tcp
        27665 tcp
        27444 udp
        31335 udp

   重要提示:以上所列出的只是该工具的缺省端口,仅作参考。这些端口可以轻易被修改。

◆ TFN

   客户端、主控端和代理端主机相互间通讯时使用ICMP ECHO和ICMP ECHO REPLY数据包。

◆ Stacheldraht

   客户端、主控端和代理端主机相互间通讯时使用如下端口和数据包:

        16660 tcp
        65000 tcp
        ICMP ECHO
        ICMP ECHO REPLY

   重要提示:以上所列出的只是该工具的缺省端口,仅作参考。这些端口可以轻易被修改。

◆ TFN2K

   客户端、主控端和代理端主机相互间通讯时并没有使用任何指定端口(在运行时指定或由
   程序随机选择),但结合了UDP、ICMP和TCP数据包进行通讯。


    对于这几个分布式拒绝服务攻击工具的详细技术分析,请访问中国著名网络安全组织绿色兵团站点(http://www.nsfocus.com/)。



拒绝服务攻击工具"进化"过程
--------------------------

    最容易的攻击方法之一是拒绝服务(Denial of Service)攻击。在TCP/IP堆栈中存在许多漏洞,如允许碎片包、大数据包、IP路由选择、 半公开TCP连接、数据包flood等等,这些都能够降低系统性能,甚至使系统崩溃。

    每发现一个漏洞,相应的攻击程序往往很快就会出现。每一个攻击程序都是独立的。一个特定的漏洞攻击程序往往只影响某一版本的 TCP/IP协议(虽然Mircosoft拥有非常庞大的个人计算机市场,大多数的家庭用户几乎完全没有意识到这些漏洞的存在,也不知道如何得 到和使用安全漏洞的补丁程序,多种漏洞攻击方法导致目标系统崩溃的机率相当高。)

    拒绝服务攻击程序可从互联网上下载得到,如以下网址:

    http://www.technotronic.com/denial.html
    http://www.rootshell.com/

    接着就是用Unix shell脚本将多种的拒绝服务攻击程序组合到一个工具里。"rape"就是这样一种工具:
(由"mars"编写,"ttol"改进)

  echo "Editted for use with www.ttol.base.org"
  echo "rapeing $IP. using weapons:"
  echo  "latierra            "
  echo -n "teardrop v2       "
  echo -n "newtear           "
  echo -n "boink             "
  echo -n "bonk              "
  echo -n "frag              "
  echo -n "fucked            "
  echo -n "troll icmp        "
  echo -n "troll udp         "
  echo -n "nestea2           "
  echo -n "fusion2           "
  echo -n "peace keeper      "
  echo -n "arnudp            "
  echo -n "nos               "
  echo -n "nuclear           "
  echo -n "ssping            "
  echo -n "pingodeth         "
  echo -n "smurf             "
  echo -n "smurf4            "
  echo -n "land              "
  echo -n "jolt              "
  echo -n "pepsi             "

    这种工具的优点是允许一个攻击者使用多种攻击方法同时攻击单个IP地址(这增加了攻击成功的概率),但也意味着必须将所有编译 好的攻击程序打包好(如Unix的"tar"文件),以方便传输和进行攻击。

    在允许使用多种拒绝服务攻击方法的情况下,同时又是一个单一的、更易于保存/传输/和使用的已编译程序,就是类似于Mixter编写 的"targa.c"这种程序。Targa程序在一个C源程序中结合了以下多种攻击方法:

/* targa.c - copyright by Mixter
   version 1.0 - released 6/24/98 - interface to 8
   multi-platform remote denial of service exploits
*/
. . .

/* bonk by route|daemon9 & klepto
* jolt by Jeff W. Roberson (modified by Mixter for overdrop effect)
* land by m3lt
* nestea by humble & ttol
* newtear by route|daemon9
* syndrop by PineKoan
* teardrop by route|daemon9
* winnuke by _eci */

    但是,即使是象"targa"这类多种拒绝服务攻击组合工具,一个攻击者在同一时间内也只能攻击一个IP地址。

    为了增加攻击的效率,一群攻击者们需要通过IRC频道或电话来保持联系,每一个人攻击不同的系统,以实现团体攻击。这种方法在 探测漏洞、入侵系统、安装后门和rootkit的行动中也经常被使用。

    即使存在一些使用限制,但至少在两年内,这个工具不断地增加各种攻击程序,形成了一个名为"Denial of Service Cluster"(拒绝服 务集群)软件包。"trinoo"工具就是这样一个例子。而在计算机黑客界中也有一个由Mixter编写的类似工具"Tribe Flood Network"(TFN)。

    与trinoo只实现UDP攻击相比,TFN支持ICMP flood、UDP flood、SYN flood和Smurf攻击等。这些攻击通过发送 ICMP_ECHOREPLY(ICMP Type 0)包命令控制。TFN也使用了与trinoo一样的Blowfish加密算法。

    我敢担保,这些拒绝服务工具包将会得到进一步的发展与完善,功能更强大,隐蔽性更强,关键字符串和控制命令口令将使用更强壮 加密算法,甚至对自身进行数字签名,或在被非攻击者自己使用时自行消毁,使用加密通讯通道,使用象ICMP这种令防火墙更难监测或 防御的协议进行数据包传输,等等。

原文转自:http://www.ltesting.net