资源描述
精品文档
标题:上海发出通知为大学生就业—鼓励自主创业,灵活就业 2004年3月17日
1、作者:蒋志华 《市场调查与预测》,中国统计出版社 2002年8月 §11-2市场调查分析书面报告
成功秘诀:好市口+个性经营
月生活费 人数(频率) 百分比
(3)优惠多
图1-1大学生月生活费分布
(3) 心态问题
成功秘诀:好市口+个性经营
为此,装潢美观,亮丽,富有个性化的店面环境,能引起消费者的注意,从而刺激顾客的消费欲望。这些问题在今后经营中我们将慎重考虑的。
(5) 资金问题摘 要
分布式拒绝服务(DDoS,Distributed Denial of Service)攻击是一种常见的恶意入侵攻击形式,由于其隐蔽性和分布性而难于检测和防御,近年来它给Internet业务带来了不可估量的损失。研究DDoS攻击的原理、检测及防范方法成为了网络入侵检测领域一个十分重要的问题。本文主要研究DDoS攻击的基本原理和攻击的一般流程,主流的一些DDoS攻击工具的使用方法及这些工具各自的特点。最后简单讲述了对于DDoS攻击目前的一些检测和防范措施。
当然,基于条件的限制和本人知识的局限性,本论文还存在许多的不足和需要改进的地方,希望教员的批评指正,本人将在今后的学习实践中进一步的解决和改善。
关键字 : 分布式拒绝服务攻击(DDoS) 攻击工具
目 录
第一章 引言 1
1.1 研究的背景和意义 1
1.2 主要研究内容 1
1.3 论文组织 1
第二章DDoS攻击概述 2
2.1 DoS和DDoS的定义 2
2.1.1 拒绝服务攻击DoS 2
2.1.2 分布式拒绝服务攻击DDoS 2
2.2 DDoS攻击存在的原因及特点 3
2.2.1 DDoS攻击存在的原因 3
2.2.2 DDoS特点 3
2.3 DDoS攻击原理 3
2.4 DDoS 攻击的典型过程 4
第三章 DDoS攻击常用工具 10
3.1 DDoS攻击工具 10
3.1.1 常用的黑客程序 10
3.1.2 DDOS的攻击方式。 10
3.2 DDoS攻击工具实战 11
3.2.1 DDoS常用工具软件 11
3.2.2 攻击实战演示 13
第四章DDoS攻击的检测与防范 19
4.1 DDoS攻击检测 19
4.2 DDoS的防范 20
4.2.1 DDoS防范的现状 20
4.2.2 抵御DDoS攻击的措施 21
第五章 结束语 23
参考文献 23
精品文档
第一章 引言
1.1 研究的背景和意义
Internet给全世界的人们带来了无限的生机,真正实现了无国界的全球村。但是还有很多困绕我们的因素,象IP地址的短缺的大量带宽的损耗的以及政府规章的限制和编程技术的不足。现在,由于多年来网络系统累积下了无数的漏洞,我们将面临着更大的威胁,网络中潜伏的好事者将会以此作为缺口来对系统进行攻击,我们也不得不为以前的疏忽付出更大的努力。虽然大多的网络系统产品都标榜着安全的旗号,但就我们现在的网络协议和残缺的技术来看,危险无处不在。
拒绝服务攻击是一种遍布全球的系统漏洞,黑客们正醉心于对它的研究,而无数的网络用户将成为这种攻击的受害者。Tribe Flood Network, tfn2k, smurf, targa…还有许多的程序都在被不断的开发出来。这些程序想瘟疫一样在网络中散布开来,使得我们的村落更为薄弱大部分网络都很容易受到各种类型的黑客攻击。拒绝服务攻击(DoS)是一个完全不同的攻击方式,你无法阻止黑客对你的网站发动DoS攻击,除非你主动断开互联网连接。自从1999年下半年以来,DoS攻击事件不断发生,据统计2006年DoS/DDoS攻击次数占到了全年的攻击次数的50%。DoS攻击目标虽然不会窃取目标系统的资料,但它会造成服务中断,间接产生重要的时间和经济的损失。在2007年的报告中,DoS攻击接受调查的530家机构带来的经济损失达到上亿美元,仅次于信息窃取。可见DoS攻击已成为网络安全领域最为严重的问题之一。
DDoS(distributed denial of server)是DoS的变种。它主要借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高DoS攻击的威力。
1.2 主要研究内容
本文主要研究DDoS攻击的原理及其主流的一些DDoS攻击工具的使用方法。
1.3 论文组织
本文分为五章,第一章主要简述了DDoS攻击研究的背景和意义,重点讲述了在现代网络条件下DDoS对网络的影响及发展趋势。第二章重点讲述DDoS的概念及原理。第三章主要重要讲述了DDoS的常用工具及其基本原理。第四章主要是对目前对DDoS攻击的检测和防范的相关内容。第五章是对全文的总结。
第二章DDoS攻击概述
2.1 DoS和DDoS的定义
2.1.1 拒绝服务攻击DoS
DoS即Denial Of Service,拒绝服务的缩写。DoS是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。要知道任何事物都有一个极限,所以总能找到一个方法使请求的值大于该极限值,因此就会故意导致所提供的服务资源匮乏,表面上好象是服务资源无法满足需求。所以千万不要自认为拥有了足够宽的带宽和足够快的服务器就有了一个不怕DoS攻击的高性能网站,拒绝服务攻击会使所有的资源变得非常渺小。
其实,我们作个形象的比喻来理解DoS。街头的餐馆是为大众提供餐饮服务,如果一群地痞流氓要DoS餐馆的话,手段会很多,比如霸占着餐桌不结账,堵住餐馆的大门不让路,骚扰餐馆的服务员或厨子不能干活,甚至更恶劣……相应的计算机和网络系统则是为Internet 用户提供互联网资源的,如果有黑客要进行DoS攻击的话,可以想象同样有好多手段!今天最常见的DoS攻击有对计算机网络的带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
2.1.2 分布式拒绝服务攻击DDoS
DDoS(Distributed Denial Of Service)把DoS又向前发展了一大步,这种分布式拒绝服务攻击是黑客利用在已经侵入并已控制的不同的高带宽主机(可能是数百,甚至成千上万台)上安装大量的DoS服务程序,它们等待来自中央攻击控制中心的命令,中央攻击控制中心在适时启动全体受控主机的DoS服务进程,让它们对一个特定目标发送尽可能多的网络访问请求,形成一股DoS洪流冲击目标系统,猛烈的DoS攻击同一个网站。在寡不敌众的力量抗衡下,被攻击的目标网站会很快失去反应而不能及时处理正常的访问甚至系统瘫痪崩溃。可见DDoS与DoS的最大区别是人多力量大。DoS是一台机器攻击目标,DDoS是被中央攻击中心控制的很多台机器利用他们的高带宽攻击目标,可更容易地将目标网站攻下。另外,DDoS攻击方式较为自动化,攻击者可以把他的程序安装到网络中的多台机器上,所采用的这种攻击方式很难被攻击对象察觉,直到攻击者发下统一的攻击命令,这些机器才同时发起进攻。可以说DDoS攻击是由黑客集中控制发动的一组DoS攻击的集合,现在这种方式被认为是最有效的攻击形式,并且非常难以抵挡。
2.2 DDoS攻击存在的原因及特点
2.2.1 DDoS攻击存在的原因
DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DOS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等各项性能指标不高时,它的效果是明显的。随着计算机及网络技术的发展,计算机的处理能力迅速增长,网络带宽也从百兆发展到了千兆、万兆,DoS攻击很难奏效。DDoS攻击是DoS攻击的一种演变,它改变了传统的一对一的攻击方式,利用网络调动大量傀儡机,同时向目标主机发起攻击,攻击效果极为明显。这时侯分布式的拒绝服务攻击手段(DDoS)就应运而生了。DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。
高速广泛连接的网络给大家带来了方便,也为DDoS攻击创造了极为有利的条件。在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离近的机器,因为经过路由器的跳数少,效果好。而现在电信骨干节点之间的连接都是以G为级别的,大城市之间更可以达到2.5G的连接,这使得攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以在分布在更大的范围,选择起来更灵活了。
2.2.2 DDoS特点
DDoS攻击作为一种特殊的DoS攻击方式,相对于传统的拒绝服务攻击有自己很多的特点:
首先,分布式拒绝服务的攻击效果更加明显。使用分布式拒绝服务,可以从多个傀儡主机同时向攻击目标发送攻击数据,可以在很短的时间内发送大量的数据包,使攻击目标的系统无法提供正常的服务。
另外,由于采用了多层客户机/服务器模式,减少了由攻击者下达攻击命令时可能存在的拥塞,也增加了攻击的紧凑性。即使攻击目标探测到攻击,也可能来不及采取有效措施来应对攻击。其次,分布式拒绝服务攻击更加难以防范。因为分布式拒绝服务的攻击数据流来自很多个源且攻击工具多使用随机IP技术,增加了与合法访问数据流的相似性,这使得对攻击更加难以判断和防范。
最后,分布式拒绝服务对于攻击者来说更加安全。由于采用了多层客户机/服务器模式,增大了回溯查找攻击者的难度,从而可以更加有效地保护攻击者。另外,采用多层客户机/服务器模式,使得下达攻击指令的数据流更加分散,不容易被监控系统察觉,从而暴露攻击者的位置与意图。
2.3 DDoS攻击原理
DDoS主要采用了比较特殊的3层客户机/服务器结构,即攻击端、主控端和代理端,这3者在攻击中各自扮演着不同的角色。攻击者:攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端发送攻击命令。主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,真正向受害者主机发送攻击。攻击者发起DDoS攻击的第一步,就是寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。第二步在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。最后各部分主机各司其职,在攻击者的调遣下对攻击对象发起攻击。这种3层客户机/服务器结构,使DDoS具有更强的攻击能力,并且能较好地隐藏攻击者的真实地址。下图为DDoS的攻击原理。
DDoS攻击一旦实施,攻击数据包就会像洪水般地从四面八方涌向被攻击主机,从而把合法用户的连接请求淹没掉,导致合法用户长时间无法使用网络资源。
2.4 DDoS 攻击的典型过程
DDoS 攻击和大多网络入侵过程差不多,可分为3个阶段,即信息收集,占领傀儡计算机和实施攻击。
1.信息收集
(1)whois命令
whois为Internet提供目录服务,包括名字、通信地址、电话号码、电子邮箱、IP地址等信息。其采用的是Client/Server结构,由Client端发出请求,接收结果,并按格式显示到客户屏幕上,而Server端则建立数据库,接受注册请求并提供在线查询服务。通常UNIX系统自带whois客户程序,也可以直接通过Web查询。
在Unix/Linux平台上使用whois的语法如下:
whois –h <whois服务器><查询对象>
例如,向查询时,采用如下命令:
$ whois -h
(2)nslookup命令
nslookup也是获取信息的重要工具,它可以进行DNS查询,用于查询DNS中的各种数据。在Windows的命令行下直接运行nslookup进入一个交互模式,即可查询各种类型的DNS数据,如图2.5所示。
图2.5 nslookup查询
DNS的名字解析数据可以有各种不同的类型,有设置区域参数的SOA类型数据,有设置名字对应的IP地址的A类型数据,有设置邮件交换的MX类型数据。这些不同类型的数据均可以通过nslookup的交互模式来查询,在查询过程中可以使用“set type”命令设置相应的查询类型。
(3)网上的公开信息
图2.6 某大学网络拓扑结构图
有些组织机构的网站上会提供一些令人感兴趣的信息,包括机构所在位置、与其关系紧密的公司或实体、电话号码、联系人姓名和电子邮件地址、指示所用安全机制的类型或安全策略、与其相关联的Web服务器链接等,有的甚至会在网站上给出机构的网络拓扑结构图,如图2.6所示即是某大学网络中心在其网页上提供的该大学网络拓扑结构图,从该图上能够看到其网络结构信息,包括带宽。有的甚至会在网络拓扑图上标明防火墙、路由器等网络设备的品牌与型号!这些对攻击者来说都是很有用的。此外,新闻报道也可能泄露很多机密信息,例如:某某公司采用某某系统或者某某公司购买了某某系统/设备用于某某业务等。
(4)搜索引擎
利用搜索引擎是一个获得组织机构内部网络额外信息的绝好的方法。如果没有使用搜索引擎查过此类信息,只需搜索你自己的组织机构的域名,你会为你查到的从组织机构连上Internet开始逐渐增加的大量的信息而感到惊讶。这些信息可能包括:邮件信息、新闻组帖子以及组织机构的Web网页(如果这些网页可以从外面访问)等。
有时候,搜索的结果中还可能包括一些已经删除的网页信息,因为搜索引擎存有网页的缓存,即使一些网页已经更换或者删除,在短时间内,还可以从搜索引擎的缓存中看到网页修改前的信息。这些信息对于攻击者来说有时候也是很有用的。
使用搜索引擎,甚至可以获得一些非常敏感的信息,如Web服务器的目录结构、计算机中的缓存信息、个人信用卡和银行账号与口令、企业网用户名和口令,以及一些要害部门的内部信息等。
2.网络刺探
(1)traceroute命令
图2.7 tracerout的输出结果窗口
traceroute命令用于追溯由一个主机到另一个主机的网络路径。这在需要记录两个主机之间的网段时是很有用的。traceroute通过修改ICMP或UDP(根据版本不同而异)数据包的TTL选项,从而获得到目的地的路途中每一跳或每一个路由器产生的ICMP超时(ICMP_TIME_EXCEEDED)消息。在默认的情况下,到一个指定目的地的途中的路由器会检查收到的数据包的IP头中的TTL值,并将其减1。TTL减1以后如果得到的是0,则路由器会丢弃此数据包并向该数据包的发出端发送一个ICMP超时消息,否则就转发此数据包到下一个路由器。利用这种机制,可以确保数据包在网络中只能传输有限的跳数。traceroute先发送数个(通常为3个)TTL设置为1的数据包,看收到的ICMP超时消息是由哪个路由器发出的,则该路由器就是到目的地方向,离发出点1跳的距离。接着,traceroute发送TTL设置为2、3、…的数据包,并得到相应距离处的路由器发出的ICMP超时消息或者目的地的回应消息(如果目的地到发出端的距离正好是数据包中的TTL初始值)。如图2.7所示(traceroute在Windows系统下的命令是tracert以满足文件名不超过8个字符的限制)为traceroute的输出结果窗口。从图3.7中可以看出,利用tracerout可以列出从源端到目的地的整个途中的所有路由器IP地址。图中的第一列是以跳数(hop)表示的距离,最后一列则是从源端到目的地方向上距离为第一列所示数据的路由器IP地址,中间的3列分别表示的是3个数据包到达最后一列所指示路由器所花费的时间,“*”表示超时。
(2)网络扫描
网络扫描按扫描目标的不同可以分为主机扫描和端口扫描。主机扫描用于确定在目标网络上的主机是否可达,在对一个网络进行主机扫描时还要尽可能多地映射目标网络的拓扑结构,一般利用较多的是ICMP数据包。端口扫描主要用于发现远程主机开放的端口或服务。
按照利用协议不同,可以分为ICMP扫描、TCP扫描和UDP扫描等。ICMP扫描主要用于主机扫描,而TCP扫描和UDP扫描主要用于获得系统提供的服务信息,即端口扫描。
① ICMP扫描
ICMP扫描一般采用ICMP Echo消息,Ping即是发送此类消息测试网络的工具。通过Ping发送ICMP Echo消息到目标主机,等待Echo Reply消息,可以确定网络和外部主机的状态,因此Ping可以用来调试网络的软件和硬件。用Ping进行扫描就是利用了其测试功能。当要测试一个主机是否活动时,可以在Ping命令后加上主机IP地址或域名作为参数。当要扫描一组主机(或IP地址),如一个网段时,可逐个地Ping这些主机。这称为Ping扫射(Ping Sweep)
② TCP扫描
TCP扫描有多种方式,例如,利用TCP-SYN、TCP-FIN等。
a.TCP连接扫描。通过向目标系统发起一个正常的TCP连接,如果端口是打开的,则连接成功,否则,连接失败。这种方法的优点是简单且不需要特殊的权限;其缺点则是服务器可以记录下客户端的连接行为,如果同一个客户轮流对每一个端口发起连接,则可以判断其是在扫描,这对攻击者隐藏身份是不利的。
b.TCP-FIN扫描。TCP-FIN扫描原理是向目标主机发送一个FIN数据包,如果端口是关闭的,则远程主机丢弃该包,并送回一个RST包;否则,远程主机丢弃该包,不回送任何信息。这种方法的优点是它不是TCP建立连接的过程,所以比较隐蔽。缺点与TCP半开连接扫描类似,也需要构造专门的数据包。
c.TCP Ping扫描。TCP Ping扫描也称为TCP-SYN扫描,前者是根据其类似于ICMP的Ping消息的作用而得名,后者是根据其使用的是TCP-SYN消息而得名。
由于很多组织机构已经禁止来自于公网,如Internet的Ping(ICMP Echo Request)消息,未收到Ping的回应消息不足以说明主机系统不能访问。攻击者可以通过向潜在目标的一些常用的TCP、UDP端口(如TCP/80、UDP/TCP/53等)发送连接请求以强化其Ping活动。TCP Ping扫描的原理是通过向目标主机的指定端口发送一个SYN包,根据应答结果判断目标信息。如果应答包为RST包,则说明该端口是关闭的;否则,会收到一个SYN/ACK包。于是,发送一个RST,停止建立连接,如图2.8所示。由于针对主机监听端口的TCP消息比ICMP消息更容易通过防火墙,因此,在ICMP消息受到禁止的情况下可以采用TCP-SYN消息达到目的;同时由于连接没有完全建立,所以这种扫描方式也称为“半开连接扫描”,其优点是很少有系统会记录这样的行为,攻击者可以借此隐藏自己。缺点是在UNIX平台上,需要Root权限才可以建立这样的SYN数据包。
图2.8 TCP Ping扫描
采用端口扫描或Ping扫射(Ping Sweep)工具如Nmap、HPing、Nessus等,可以自动完成TCP Ping功能,此即TCP Ping扫描。
d.TCP逆向Ident扫描。安全专家Dave Goldsmith于1996在Bugtraq的一个帖子上指出,Ident协议(RFC 1413)会泄露通过TCP连接进程的所有者的用户名,即使该连接不是由此进程发起的。因此,攻击者可以连接到HTTP的端口,用Ident守护进程查明服务器是否由Root用户启动。
③ UDP扫描
UDP扫描原理是,利用UDP协议,发送UDP数据包到目标端口,看是否有回应包。由于UDP协议是无连接的,数据接收方不需要对收到的数据进行响应,如果目标UDP端口是开放的,并不需要送回ACK包,而关闭的端口也不要求送回错误包,因此,利用UDP包进行扫描非常困难。只是有些协议栈实现的时候,对于关闭的UDP端口,会送回一个ICMP的端口不可达消息。因此,可以根据端口不可达消息确定那些关闭的UDP端口,而对于没有收到端口不可达消息的,则可能是开放的端口。端口不可达消息一般要有根用户权限才能读取。Linux却可以以间接的方式“通知”非根用户端口不可达消息的到达,例如,当用户第二次向一个关闭的(远程)端口进行write()调用时,系统会返回一个失败信息。很多的扫描器如Netcat、Pscan.c都可以进行这种扫描。通过这种write()调用,Linux的非根用户就可以确定远程端口是否处于开放状态。
UDP扫描的缺点是速度慢,而且是否收到UDP包或ICMP包都不是可靠的。
(3)漏洞扫描
通过主机扫描和端口扫描以后,攻击者获得了活动主机及其开放端口(服务)的信息,接下来攻击者就希望获得受害者主机是否存在可以利用的漏洞的信息。由于已发现的可以让攻击者远程控制一台主机的漏洞千千万万,攻击者可以把与这些漏洞相关的攻击手法在受害者主机上一个个地进行测试,但是,这会耗费攻击者很多的时间,也许是数年的时间。为了加快这一过程,攻击者可以通过一个自动化地漏洞扫描工具测试受害者主机可能具有的漏洞,然后有针对性地攻击。
自动化的漏洞扫描工具本质上是一个常见漏洞的数据库和一个可以阅读此数据库,连接到目标计算机,测试目标主机是否存在此漏洞的引擎。
这种工具的有效性在于其测试的质量以及其漏洞库的完善程度。因此,好的漏洞扫描工具都会及时提供漏洞库的升级以及编制新的脚本以提供新漏洞的检测。
SATAN(Security Administrator Tool for Analyzing Network),一个免费软件,是最早广泛使用的自动漏洞扫描器,出现于1995。后来出现了著名的开放源码的漏洞扫描器Nessus。Nessus是一个通用漏洞扫描器,它可以扫描多种系统和平台的漏洞。另外,也存在一些针对特定系统的漏洞扫描器,如Whisker就是专门扫描Web服务器的CGI脚本漏洞的。
3.占领傀儡机和控制台
在DDoS攻击中,攻击者可以通过自己的机器直接对目标发起攻击,这样攻击者可能会冒着被发现的风险。通常,为了掩蔽自己不被发现,攻击者需要占领一些傀儡机,用来实施攻击。另外,为了达到需要的攻击力度,单靠一台或数台机器对一个大型系统的攻击是不够的,因此攻击者也需要大量的傀儡机器用于增强攻击的“火力”。这些傀儡机器最好具有良好的性能和充足的资源,如强的计算能力、大的带宽等,这样攻击者会获得较大的攻击力。当然,如果这些机器的管理水平、安全程度低,则更是攻击者的最佳选择,因为这样的机器更容易被攻击者攻破。比如一些宽带家庭用户的系统就具有高带宽、低安全的特性,而且,由于这些用户一般都是按月或按年度固定地付费的,因此,他们的计算机一般会长时间连在网上,这些都是最受攻击者青睐的。并且,攻击者还需要向傀儡机发送命令的控制台,因此攻击者还需利用某些被其攻破的机器或者其拥有访问权限的机器作为控制台。
攻击者占领傀儡机的方法有很多种。早期的占领方法一般是先通过扫描,得到一些容易攻破的机器,然后采用一些较为简单的方法予以攻破。攻击者也可以通过后门程序,以邮件、网站上的恶意链接等方式,引诱受害者运行后门程序,从而达到控制受害者机器的目的。目前,获得大量傀儡机的方法主要是通过携带后门程序的蠕虫,如后面将会介绍的Agobot等,随着蠕虫的传播,后门程序也安装到了受蠕虫感染的主机上。由于系统中运行的软件越来越多,必然的,整个系统的漏洞也越来越多;软件的漏洞使得恶意程序如蠕虫可以自动地攻破大量的主机,然后提供给攻击者作为傀儡机(攻击主机)使用。
攻击者“手工”占领傀儡机以后,需要在傀儡机上安装后门,以保持对傀儡机的“占有”。此外,对于那些攻击者选作攻击主机的傀儡机,攻击者还需在上面安装攻击软件。那些由蠕虫等攻破用做傀儡机的主机,已经在蠕虫感染的同时安装了攻击软件(当然也是攻击者能够通过远程控制的后门程序)。
4.实施攻击
在前面的准备工作完成之后,实际的攻击过程却相对比较简单,攻击者只需通过控制台向傀儡机发出指令,令其立即或在某个时间向指定的受害者大量发送特定的攻击数据包即可。或者,攻击者可以在傀儡机上做一定时设置,时间一到,这些傀儡机就自行对既定目标发起攻击。
这里描述的是分布式拒绝服务攻击的一个典型过程。实际上,并非每一次攻击都要遵循这样一个过程的。例如攻击者在攻击了受害者甲以后的某天打算攻击受害者乙,这时,由于攻击者已经掌握了控制台机器和大量的攻击主机,第二个步骤就已经是完成了的,无须重复。或者,攻击者也许通过一些其他的渠道对某个受害者早已有了足够的了解,当他想要对其实施攻击时,第一个步骤当然也就不再需要了。
第三章 DDoS攻击常用工具
3.1 DDoS攻击工具
DDoS攻击实施起来有一定的难度,它要求攻击者必须具备入侵他人计算机的能力。但是目前出现的一些工具软件使这种攻击变得简单起来。现在最常见的分布式拒绝服务攻击程序主要有Trinoo、TFN、TFN2K和Stacheldraht等几种,它们使用的最主要的攻击方法是利用TCP/IP协议中的漏洞,如允许许多碎片包、大数据包、IP路由选择、半公开TCP连接、数据包 foold等。降低系统性能,甚至使系统崩溃。黑客程序的出现,这些程序可以在几秒钟内完成入侵和攻击程序的安装,使发动DDoS攻击变成一件轻而易举的事情。
3.1.1 常用的黑客程序
1.Trinoo:Trinoo是发布最早的主流工具,它是基于UDP flood的攻击软件,它向被攻击目标主机的随机端口发出全零的4字节UDP包,在处理这些超出其处理能力垃圾数据包的过程中,被攻击主机的网络性能不断下降,直到不能提供正常服务,乃至崩溃。它对IP地址不做假,此攻击方法用得不多。
2.TFN:TFN是德国著名黑客Mixter编写的,与Trinoo相似,都是在互联网的大量UNIX系统中开发和测试的。它由客户端程序和守护程序组成,通过绑定到TCP端口的Root Shell控制,实施ICMP Flood,SYN Flood,UDP Flood等多种拒绝服务的分布式网络攻击。TFN客户端、主控端和代理端主机相互间通信时使用IC-MP Echo和Icmp EchoReply数据包。
3. TFN2k: 代表TFN 2000版,是Mixter编写的TFN后续版本。这个新的DDoS工具已在原有的基础上大大前进了一步,它也是由两部分组成,即客户端程序和在代理端主机上的守护进程。客户端向守护进程发送攻击指定的目标主机列表,代理端守护进程据此对目标进行拒绝服务攻击。由一个客户端程序控制的多个代理端主机,能够在攻击过程中相互协同,保证攻击的连续性。客户端程序和代理端的网络通信是经过加密的,还可能混杂许多虚假数据包。整个TFN2k网络可能使用不同的TCP,UDP或ICMP包进行通信,而且客户端还能伪造其IP地址。所有这些特性都使发展防御TFN2k攻击的策略和技术非常困难或效率低下。TFN2k非常隐蔽,这些手段使得它很难被检测到。因为没有端口号,所以很难探测,即使在正常的基础上使用端口扫描程序也无法探测到用户的系统正被用作TFN2k服务器。目前仍没有能有效防御TFN2k拒绝服务攻击的方法,最有效的策略是防止网络资源被用作客户端或代理端。
4.Stacheldraht:对命令来源做假,而且可以防范一些路由器用RFC2267过滤。若检查出有过滤现象,它将只做假IP地址最后8位,从而让用户无法了解到底是哪几个网段的哪台机器被攻击。此外,它还具有自动更新功能,可随软件的更新而自动更新。
3.1.2 DDOS的攻击方式。
1.Synflood: 该攻击以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYN ACK后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK一直维护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务。
2.Smurf:该攻击向一个子网的广播地址发一个带有特定请求(如ICMP回应请求)的包,并且将源地址伪装成想要攻击的主机地址。子网上所有主机都回应广播包请求而向被攻击主机发包,使该主机受到攻击。
3.Land-based:攻击者将一个包的源地址和目的地址都设置为目标主机的地址,然后将该包通过IP欺骗的方式发送给被攻击主机,这种包可以造成被攻击主机因试图与自己建立连接而陷入死循环,从而很大程度地降低了系统性能。
4.Ping of Death:根据TCP/IP的规范,一个包的长度最大为65536字节。尽管一个包的长度不能超过65536字节,但是一个包分成的多个片段的叠加却能做到。当一个主机收到了长度大于65536字节的包时,就是受到了Ping of Death攻击,该攻击会造成主机的宕机。
5.Teardrop:IP数据包在网络传递时,数据包可以分成更小的片段。攻击者可以通过发送两段(或者更多)数据包来实现TearDrop攻击。第一个包的偏移量为0,长度为N,第二个包的偏移量小于N。为了合并这些数据段,TCP/IP堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动。
6.PingSweep:使用ICMP Echo轮询多个主机。
7.Pingflood: 该攻击在短时间内向目的主机发送大量ping包,造成网络堵塞或主机资源耗尽。
3.2 DDoS攻击工具实战
3.2.1 DDoS常用工具软件
DDOS攻击在技术上而言是很不容易被人所掌握的,但是现在出现的一系列的攻击工具使新手们很容易的就可以发起这种攻击。网络上这些攻击软件很多,他们各有特点,经过在虚拟机上的试用,我对他们进行了总结:
傀儡僵尸:本软件是由傀儡僵尸工作室独立开发,集成了大多数最有效DDOS攻击方式于一身,包含TCP/IP、UDP、ICMP、IGMP多种攻击方式,是目前最全的DDOS工具。在有防火墙的测试中本软件的发包量较高。
独裁者:老牌软件但更新太慢,操作界面简单,效果明显。
完美压力:攻击方式最多,在控制主机方面表现也不较突出,而且还提供攻击分组功能使得管理肉鸡比较方便。软件控制端以及服务端,升级及时,尽量保证客户肉鸡丢失.减少不必要的损失。
金装特南:也是一款老牌软件,随心所欲地实现攻击和停止攻击。攻击粒度非常强大,而且好用,更傻瓜化。
上兴网络僵尸:这款软件功能强大,上兴僵尸配置出来的服务端就可以过所有免杀不用自行做免杀,很方便发包率也很高。
3.2.2 攻击实战演示
攻击软件很多但原理和操作过程都差不多,下面我就独裁者介绍一下此类软件的操作过程:
1.独裁者DDoS攻击器
独裁者DDoS攻击器是一款基于TCP/IP协议的DDoS分布式拒绝服务攻击工具,它运用远程控制方式让您轻松联合多台服务器进行DDoS攻击。
下载回来的独裁者DDoS攻击器包括4个文件:
Server.exe —— 服务器端,这个不要在自己机器运行。
Client.exe —— 控制端,就用它操作Autocrat了
Mswinsck.ocx —— 控制端需要的网络接口
Richtx32.ocx —— 控制端需要的文本框控件
有些朋友会感到无从下手,其实你要做的就是右边那些命令按钮而已,左边的列表是Client能控制的所有主机,Client会自动读取左边列表的,无需用户干涉。
2.添加主机
你可以用独裁者DDoS攻击器的扫描功能扫,但是目前这种方法无疑于大海捞针。 所以我们最好还是自己动手安装Server。首先在对方计算机运行server端。点击“添加”按钮,输入对方IP即可。
3. 检查Server状态
发动攻击前,为了保证Server的有效,我们最好对它来次握手应答过程,把没用的Server踢出去,点击“检查状态”按钮,Client会对IP列表来次扫描检查,最后会生成一个报告。
4. 清理无效主机
点“切换”按钮进入无效主机列表,用“清理主机”按钮把无效的废机踢出去,再按一次“切换”转回主机列表。
5. 检查文件
别忘了wsock32s/l/p.dll这三个DLL,它们是攻击的关键,用“检查文件”按钮查看文件状态,如果发现文件没了,你可就要注意了,可以用extract命令释放文件。
6. 攻击
经过前面的检测,我们现在可以发动攻击了。
SYN攻击:源可以随便输入,目标IP填你要攻击的IP或域名,源端口1--选择你要攻击的一个,目标端口:80--攻击HTTP,21--攻击FTP,23--攻击Telnet,25/110--攻击E-MAIL。
LAND攻击:填目标IP和目标端口即可(同SYN)
FakePing攻击:源IP随便填,目标IP填你要攻击的IP,接下来就会有大量ICMP数据阻塞他的网络。
狂怒之Ping攻击:直接填目标IP即可,原理同FakePing
7.停止
攻击以后点“停止攻击”即可,不要太长时间用傀儡机发送大量的攻击数据这样会使傀儡机和对方的网络堵塞。
8.手工命令
如果你只想控制一台肉鸡,就在IP列表上你想控制的肉鸡IP上点一下,然后在“手工命令”后面选“单独”,现在:
stop -- 停止
helo ID -- 状态检查
syn [ip] [port] [ip] [port] -- SYN攻击
land [ ip] [port] -- LAND攻击
fakeping [ip] [ip] -- FakePing攻击
angryping [ip] -- 狂怒之Ping extract -- 释放文件
9.信使服务
可以利用windows的信使功能向傀儡机发送信息。
10.HTTP控制
这个方法最简单,直接在IE里输入http://IP:8535 就可以,直接用Server攻击,不用Client也可以进行攻击。
独裁者DDoS攻击器控制大量Server进行DDoS的工具,支持4种攻击方法:SYN、LAND、FakePing、狂怒之Ping,危险程度高,慎用。
程序分为Client和Server,Server在肉鸡上执行后会自动安装为NT服务程序并删除自身,以后将会采用NT Service方式在肉鸡上作为木马运行,可以Telnet/HTTP控制,方法:直接在IE输入 http://ip:8535 即可。Server端自动兼容系统环境,在98/Me/2000/XP都能安装,98/Me下能发起狂怒之Ping攻击,2000/XP下能使用所有功能。
小提示:现在的DDOS攻击中主要有以下三种DDOS攻击技术:
1. SYN/ACK Flood攻击
2. TCP全连接攻击
3. 刷Script脚本攻击
第四章DDoS攻击的检测与防范
4.1 DDoS攻击检测
从DDoS攻击过程可
展开阅读全文