DDOS攻击的原理分析

来源: 作者: 时间:2014-10-17 09:49:35
拒绝服务算是网络安全中最令人厌恶的攻击方式之一。这种攻击主要是用来攻击域名服务器,路由器以及其他网络操作服务,攻击之后造成被攻击者无法正常运行和工作,严重的可以使网络陷入瘫痪。本文着重讲述的是发起DDoS攻击的原理,希望能对你解决问题有所帮助


拒绝服务算是网络安全中最令人厌恶的攻击方式之一。这种攻击主要是用来攻击域名服务器,路由器以及其他网络操作服务,攻击之后造成被攻击者无法正常运行和工作,严重的可以使网络陷入瘫痪。本文着重讲述的是发起DDoS攻击的原理,希望能对你解决问题有所帮助。

DDoS是一种特殊形式的拒绝服务攻击,它是利用多台已经被攻击者所控制的机器对某一台单机很容易失去反应能力。目前所见过的分布攻击系统一般都是基于客户机/服务器模式,随着攻击者手法的不断进步,这种模式正在向着更高的方向发展,也进一步使它的攻击更加隐秘,并完全具备隐藏自己真是位置的能力。现在这种方式被认为是最有效的攻击形式,并且很难与防备。我们要了解它,首先就得知道它的攻击路径。用图来表示如下:

上图是典型的分布式拒绝服务攻击的系统流程。攻击者控制着几台机器作为master,这些master主机分别控制着大量的接点主机即Broadcast(分布端攻击守护进程),这些大量的被控主机是对被攻击者进行攻击的机器,所有的机器目标汇集在一起向一个目标发起进攻。这种攻击方式可以让攻击者很容易地就隐藏起自己地真实身份,也可以隐藏那些master主机。这一点从图中不难看出。也就是说,所谓的DDoS分布攻击并不是一台机跟一台机之间地较量,而是群组机跟一台机地较量!

这就说明,要想实施这样的攻击首先要做到的就是能控制很多机器,再在这些机器上编译出主控端(master),攻击者控制住那些已经编译好且运行着主控端(master)的机器,而主控端(master)之外攻击者还必须控制大量的机器来作为发起最后攻击的Broadcast机器。这绝对是一个繁琐而有用心良苦的大工程。

从目前已经发生的一些DDoS攻击事件来看,此类攻击大都有一些共同点,那就是攻击者所攻击用的主控端(master)和Broadcast的驻留程序一般都可能安装在没有打过补丁或没有进行安全设置的主机上,而受攻击形式的影响,这些程序有的需要运行用到raw sokets或者其他特殊权限对攻击者来说,拥有root权限是必须的,其他的一些驻留程序有可能仅需要普通用户的权限就可以。在目前的Internet中,由于用户安全级别和意识不同,所以经常会有一些机器允许攻击者使用普通用户的权限来做管理员权限的事情,像安装管理员级别的工具等,这就使得网络安全隐患进一步增大。

攻击者往往必须安装一定的基本程序在已被控制的机器上。除了需要能力和时间去控制那些攻击所需要的主机之外,要攻击者还需要花大量的体力和精力在这些基础程序的编写、安装、控制上。攻击者通过对脚本程序的修改加快了这些基础下部组织的安装时间,使得攻击者可以随心所欲地快速对攻击进行配置,这些程序所需要的网络流量和驻留程序都比较小,而攻击者作为攻击时在那些已经被他所控制的主机上建立一个自己的账户也是相当必要的。

在主控端(master)都已经做好之后,对主控端(master)所控制的下个接点的那些机器将开始做工作---安装驻留程序Broadcast。当驻留程序Broadcast在那些已经被控制的机器上安装调试完毕可以正常运行之后,Broadcast便会向master主机发来一个信号,说明她已经安装成功。这个也是驻留程序安装过程中的一部分,因为它知道master主机的位置以及它所监听的端口。主控端(master)主机可以完全控制这些Broadcast,可以自由决定时间和目标,然后指令被控主机在什么时间去攻击某个目标。大多使用DDoS作为攻击的攻击者为了更加完美得隐藏自己,他们往往一般会把那些主控端(master)系统设置为自动清理埋伏态,如log等,通过这些系统得配置恢复到攻击前得样子,这样就避免被追踪而发现自己。而有的攻击者则习惯于关闭或更改master服务器,但下次进行攻击得时候就的从0再来了。

掌握一定得入侵技巧是进行DDoS攻击的基础,而大量的编写、翻译和繁琐德安装那些驻留程序却是一件很麻烦且令人头疼的事情,也是检验攻击语言和系统技术掌握能力德时候。这也是DDoS只能在一定范围内被攻击者所使用德最重要的原因之一。但是,TFN(Tribe Flood Network)的出现大大减低了DDoS攻击时的复杂程度。可TFN并不是一个完全的工具,随着Trin00的出现则让DDoS工具化、简单化、傻瓜化了。也就是说,只要攻击者有一定的入侵技巧,那么就有可能成为一次DDoS的实施者。

Trin00由3部分构成,分别是客户端、主控端(master)和Broadcast(即分布端攻击守护进程)。

客户端时telnet的程序,作用是向目标主制端(master)攻击发送命令。

主控端(master)主要是监听两个连接的端口27655和31335.其中27655用来接受客户端发来的命令,这个执行要求密码,确省密码可能是“betaamostdone”,主控端(master)启动的时候会显示一个提示符号“?”,等待密码输入之后(密码为g0rave),31355这个端口便开始等候分布端的UDP报文。

Broadcast是最后执行攻击的。这个端安装在一台已经被控制的机器上,编译分布端之前,首先得先植入主控端(master)真实有效得IP地址,它跟主控端(master)是利用UDP报文通信,发送至主控端(master)得31355端口,其中包含“*HELLO*”得字节数据,主控端将目标机器得信息通过UDP27444端口开始发起攻击。

下面用一个实际攻击来说明:

攻击者主机地址为1.1.1.1,要攻击得对象是80.80.80.80。

攻击者首先利用一个远程溢出的漏洞控制到两台UNIX,地址分别为:2.2.2.2和3.3.3.3,而在这之前,攻击者已经控制到了30余台位于不同地域的机器,这些机器都属于Server之类,但好像它们仅仅只是为了能连接上Internet,从来没做过任何安全方面的配置,它们的类型也很杂乱,系统包括NT,Win9x和一些Linux以及UNIX的某几个版本。

开始工作!首先在自己的机器1.1.1.1上安装上Trin00的客户端,然后在2.2.2.2和3.3.3.3上分别安装Trin00的Broadcast根据要安装机器系统的不同而分类,Windows为一组,把它们的Broadcast进行修改好合适运行在Windows环境之下,而Linux、UNIX也同样如此步骤。最后再把主控端(master)的两台UNIX机器的真实地址2.2.2.2和3.3.3.3根据自己的爱好植入到Broadcast程序中去,再把端口设置好,好让它返回控制信息。接着上传安装,一切完成。

攻击开始。运行自己机器上的Trin00客户端,然后Telnet到2.2.2.2和3.3.3.3启动Trin00的主控端(master),向27655端口发送一个集合命令,用来帮助那些安装上Broadcast的机器找到主控端(master),同时也可以帮助主控端(master)找到那些Broadcast。这时候,由1.1.1.1向2.2.2.2和3.3.3.3发布攻击80.80.80.80的命令,同时设定了攻击时间和攻击方式(比如发送哪个类型的数据包等等)。一切都在悄悄地进行,直到攻击成功为止。结束时当然是擦痕迹了。

这次攻击的流向显而易见为:

发起攻击的机器->主控端(master)->Broadcast->目标机器

从Broadcast向目标机器发出的都是UDP报文,每个包有4个空字节,这些报文都是从一个端口发出的,但是针对目标机器的端口则是不同的。目标机器对每个报文都要回复一个ICMP Port Unreachable(ICMP端口不可到达)的信息,大量不同主机发来的这些UDP报文会使目标机器速度慢慢减低,直到带宽成为0.

DDoS攻击形式的出现使网络攻击的单一化开始变得混乱了。从DDoS来看,对网络最大的威胁将来自那些毫无安全意识和配置低级的用户!但他们所使用的机器却是正在成为攻击者的武器。他们无形中成了攻击者的帮凶。。。。。。

Tag:  

相关文章

    无相关信息
网友评论