DoS (Denial of Service)攻击其中文含义是拒绝服务攻击,这种攻击行动使网站服务器充斥大量要求回复的 信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。黑客不正当地采用标准协议或连接方法,向攻击的服务发出大量的讯息,占用及超越受攻击服务器所能处理的能力,使它当(Down)机或不能正常地为用户服务。
“拒绝服务”是如何攻击的
通过普通的网络连线,使用者传送信息要求服务器予以确定。服务器于是回复用户。用户被确定后,就可登入服务器。
“拒绝服务”的攻击方式为:用户传送众多要求确认的信息到服务器,使服务器里充斥着这种无用的信息。
所有的信息都有需回复的虚假地址,以至于当服务器试图回传时,却无法找到用户。服务器于是暂时等候,有时超过一分钟,然后再切断连接。服务器切断连接时,黑客再度传送新一批需要确认的信息,这个过程周而复始,最终导致服务器无法动弹,瘫痪在地。
在这些 DoS 攻击方法中,又可以分为下列几种:
TCP SYN Flooding
Smurf
Fraggle
1.TCP Syn Flooding
由于TCP协议连接三次握手的需要,在每个TCP建立连接时,都要发送一个带SYN标记的数据包,如果在服务器端发送应答包后,客户端不发出确认,服务器会等待到数据超时,如果大量的带SYN标记的数据包发到服务器端后都没有应答,会使服务器端的TCP资源迅速枯竭,导致正常的连接不能进入,甚至会导致服务器的系统崩溃。这就是TCP
SYN Flooding攻击的过程。
图1 TCP Syn攻击
TCP Syn 攻击是由受控制的大量客户发出 TCP 请求但不作回复,使服务器资源被占用,再也无法正常为用户服务。服务器要等待超时(Time Out)才能断开已分配的资源。
在这些 DoS 攻击方法中,又可以分为下列几种:
TCP SYN Flooding
Smurf
Fraggle
1.TCP Syn Flooding
由于TCP协议连接三次握手的需要,在每个TCP建立连接时,都要发送一个带SYN标记的数据包,如果在服务器端发送应答包后,客户端不发出确认,服务器会等待到数据超时,如果大量的带SYN标记的数据包发到服务器端后都没有应答,会使服务器端的TCP资源迅速枯竭,导致正常的连接不能进入,甚至会导致服务器的系统崩溃。这就是TCP
SYN Flooding攻击的过程。
图1 TCP Syn攻击
TCP Syn 攻击是由受控制的大量客户发出 TCP 请求但不作回复,使服务器资源被占用,再也无法正常为用户服务。服务器要等待超时(Time Out)才能断开已分配的资源。
几种常见分布式拒绝服务攻击工具的特征
至今为止,攻击者最常使用的分布式拒绝服务攻击程序包括4种:Trinoo、TFN、TFN2K和Stacheldraht。
以下是攻击者常用的分布式拒绝服务攻击工具:
Trinoo
客户端、主控端和代理端主机相互间通讯时使用如下端口:
1524 tcp
27665 tcp
27444 udp
31335 udp
重要提示:以上所列出的只是该工具的缺省端口,仅作参考。这些端口可以轻易被修改。
TFN(Tribal Flood Network)
客户端、主控端和代理端主机相互间通讯时使用ICMP ECHO和ICMP ECHO REPLY数据包。
Stacheldraht
客户端、主控端和代理端主机相互间通讯时使用如下端口和数据包:
16660 tcp
65000 tcp
ICMP ECHO
ICMP ECHO REPLY
重要提示:以上所列出的只是该工具的缺省端口,仅作参考。这些端口可以轻易被修改。
TFN2K
客户端、主控端和代理端主机相互间通讯时并没有使用任何指定端口(在运行时指定或由程序随机选择),但结合了UDP、ICMP和TCP数据包进行通讯。
拒绝服务攻击工具"进化"过程
最容易的攻击方法之一是拒绝服务(Denial of Service)攻击。在TCP/IP堆栈中存在许多漏洞,如允许碎片包、大数据包、IP路由选择、半公开TCP连接、数据包flood等等,这些都能够降低系统性能,甚至使系统崩溃。
每发现一个漏洞,相应的攻击程序往往很快就会出现。每一个攻击程序都是独立的。一个特定的漏洞攻击程序往往只影响某一版本的TCP/IP协议(虽然Mircosoft拥有非常庞大的个人计算机市场,大多数的家庭用户几乎完全没有意识到这些漏洞的存在,也不知道如何得到和使用安全漏洞的补丁程序,多种漏洞攻击方法导致目标系统崩溃的机率相当高。)
拒绝服务攻击程序可从互联网上下载得到,如以下网址:
http://www.technotronic.com/denial.html
http://www.rootshell.com/
接着就是用Unix shell脚本将多种的拒绝服务攻击程序组合到一个工具里。"rape"就是这样一种工具:
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这种令防火墙更难监测或防御的协议进行数据包传输,等等。