拒绝服务攻击详解之基础篇

  • 格式:doc
  • 大小:126.50 KB
  • 文档页数:12

拒绝服务攻击详解之基础篇文章作者:SKY_Server文章翻译:帝王血族 [S.K.Y]信息来源:邪恶八进制信息安全团队()目录绪论拒绝服务三大类五花八门的拒绝服务攻击手法包欺骗和原始套接防止拒绝服务攻击尾声相关连接免责条款绪论:这份资料是为那些对拒绝服务(Denial of Service,DoS)有一些了解的网络管理员准备的,资料中涉及到了大量关于拒绝服务攻击(Denial of Service attacks)的基础以及相关知识。

互联网上的拒绝服务攻击正变得越来越常见。

发起一场拒绝服务攻击对于一个老练的黑客来说已经不是什么难事儿,甚至是一个非常普通的脚本小子都可以通过使用从互联网上下载的工具做到。

由于可以被轻易上演,拒绝服务攻击已经逐渐成为当今因特网上的严峻问题。

很多网上银行和娱乐站点由于拒绝支付黑金而被不法份子采用拒绝服务的手段攻击,调查显示攻击速度几乎可以达到1G/s,而且问题仍然在恶化。

目前,大概一些攻击者已经可以达到1T/s,而仅仅1G/s的攻击强度就足够让雅虎()和亚马逊()这样的大站倒塌了。

您无法防止恶徒对您进行拒绝服务攻击,但是多了解一点儿这种手法,以便当您的服务器遭到拒绝服务攻击的时候能尽可能的阻止他或者把损失降到最低却是很有必要的。

这篇文章的作者是Aelphaeis Mangarae,中文翻译由冰血封情[E.S.T]完成。

拒绝服务三大类:DoS:DoS攻击是一种攻击者自他或她自己的机器发起的攻击。

通过对远程计算机发送攻击数据包,每发送一个远程的计算机收到一个。

这种攻击已经比较罕见了,因为大多数情况下这种攻击不能得手,并且在攻击的时间段上很容易被追踪。

一般的说,使用DoS攻击手段的大多数都是那些喜欢用“黑客工具”而没有大脑的业余脚本小子,他们异想天开的以为有机会用自己的破电脑搞塌一台web服务器。

多数情况下这些脚本小子最终会发觉自己信赖的攻击工具没有效果,从而转而使用一种新的所谓的“黑客工具”或者很可能使用工具发动一场分布式拒绝服务(Distributed Denial Of Service)攻击。

DDoS:分布式拒绝服务(Distributed Denial of Service,DoS)攻击是拒绝服务攻击者群体中最常用的手法了。

如果一个攻击者想发动一场拒绝服务攻击,他可以召唤数千甚至是数万数十万被安装了傀儡软件(一种类似IRC客户端的程序,但是功能可就牛了,有些时候被称做DDoS蠕虫)的机器(后面叫肉机)。

通常情况下这些客户端会从肉机上登录到一个IRC聊天室,等待攻击者发号施令。

攻击者只要键入类似如下的命令”$flood ICMP ”后,这些IRC 聊天室里的客户端接收命令并且开始向目标发送ICMP包。

由于攻击者有足够的客户端安装在很快的服务器肉机上,那么很轻易就造成了远程目标掉线或者是拒绝合法用户的访问通常,攻击者选择手工添加可以用来攻击的肉机,他们通常把IRC攻击程序客户端作成网页木马的方式,通过利用社会工程学诱使他人访问那张网页。

通过利用IE的某一个漏洞(通常IE的安全性都很差劲儿),在对方计算机上下载并执行客户端。

目前,组建一直庞大的亏累军团用于攻击已经不是什么难事儿,因特网上有很多傀儡软件可供下载,比如Forbot、RxBot以及Agobot。

这些傀儡软件通过扫描特定的服务或端口并且尝试渗透并感染远程计算机(有点象蠕虫),如果这些傀儡终端使用了0day exploit来运做那将是非常实用的。

DoS客户端一般都支持标准的洪水攻击,比如ICMP,UDP,TCP以及SYN洪水。

DRDoS:分布式反映射拒绝服务(Distributed Reflected Denial of Service,DRDoS)是相当罕见的一种拒绝服务攻击种类,因为攻击一台大型服务器都没必要使用DRDoS,尽管这种手法仍然曾经一度被声名狼藉的Mafia Boy用来攻击、、和。

DRDoS的原理是攻击者命令他的肉机使用伪造的包去洪水攻击一个特殊的媒介主机而引发的。

打个比方,攻击者命令他手下一半数量的肉机去使用伪造的ICMP包洪水攻击,同时再命令他手下另外一半数量的肉机去使用伪造的ICMP包洪水攻击,由于这些伪造的攻击数据包都看起来象是来自。

那么和就会在不知觉中洪水攻击,因为伪造的ICMP数据包都标识为源地址是,那么和将向这个伪造的地址(也就是微软)进行回复。

可是大家知道,任何一个精心伪造的ICMP数据包发送到和的时候,和可能有数千台机器在这同一个IP地址上,而每台机器都将对这个伪造的地址进行回复,因此这个攻击效果将被放大很多倍。

下面我专门附带了一张图示用来说明DRDoS是怎样运做的。

红线:是连接攻击者和肉机的,攻击者通过这条线路去命令肉机发动攻击。

蓝线:肉机发送伪造的ICMP包,这些ICMP包都看起来象是来自受害者的因特网中枢路由。

绿线:连接到,,和的任何一个计算机都回复这个伪造地址,于是,受害者遭到了攻击。

注意:我怀疑某些人将利用或者是其他的类似站点做媒介主机,其实所有的大网络都可以被利用来做反映射包的转换媒介。

五花八门的拒绝服务攻击手法:ICMP:ICMP洪水攻击几乎是拒绝服务攻击中最常用的手段,由于几乎所有的站点都响应ICMP包,所以很轻易就可以放倒他们。

ICMP洪水是通过对目标机发送大量的ICMP包,由于远程计算机每一个包都回复,这意味着将耗光目标机器的带宽导致合法用户无法访问服务器。

发送ICMP包最常见的就是ping命令,一般主要用来探测远程计算机是否在线。

UDP:UDP洪水攻击的实现方法是发送垃圾包从UDP端口到远程计算机的UDP端口,有丈于UDP是一个无连接协议所以这种攻击手法将效果显著。

TCP:TCP洪水攻击可以通过和远程计算机建立数以千计的连接,远超过远程计算机可以接受的最大限度来实现。

另外一种TCP洪水攻击是攻击者连接已经存在的TCP并发送垃圾数据来堵塞远程计算机。

TCP SYN:当一个计算机想要同远程计算机建立连接的时候,将会完成我们通常称之为3次握手的事件。

首先,想要建立连接的计算机发送SYN包,远程计算机收到后回复一个ACK包来确认之前的SYN包,于是连接计算机开始尝试建立连接。

可以看见,如果是采用SYN包洪水攻击远程计算机,它将会发送ACK包来浪费带宽,如果远程计算机一直不主动建立连接,那么目标计算机将会一直等待连接,这样很可能耗费掉目标计算机所有的连接请求,这种攻击方法时常可以达到事半功倍的效果。

邮件炸弹:这种拒绝服务攻击方式经常为业余脚本小子所使用,邮件炸弹就是攻击者向目标邮件地址发送数以千计的垃圾邮件,这种攻击经常相当无没效果。

然而这种手法通常会耗费光您的邮箱空间或者是给特定的ISP带来烦恼。

我认为关于这种洪水攻击能用来做什么还得从长计议,毕竟都是一些我亲爱的业余脚本小子在恶作剧中使用,干不了什么大票儿(我知道你一定觉得很可笑)。

这种攻击根本不占用带宽,它可以做的,也仅仅是浪费硬盘的空间和人的时间,让人不得不尽快删除数千封email。

值得一提的是,有些免费的web email服务,只让你一封封的删email,那要删除这么多邮件可真是件遭罪的事情。

这种攻击一般都很容易跟踪,你需要做的只是设法获得这些垃圾email的源IP地址,找出攻击者使用的ISP信息,并且email通知他们就可以了。

其他的:其实还有很多拒绝服务攻击手法,所有的拒绝服务攻击,说白了就是攻击者利用带宽去耗费别人的带宽,或者是利用自己其他的资源去耗费目标的其他资源。

其中还有一种方法,攻击者可以用他的肉鸡不断重复的加载web服务器的页面,这样也可以耗费掉他的带宽。

不久以前就被拒绝服务攻击过,攻击者使用肉机不断的加载 论坛的php模块,造成了当机。

有一个防止部分拒绝服务攻击的种类的好方法就是不要允许同一IP建立超过一个的连接数,这样肉机就不会占用你太多的带宽,除非他用很多肉机洪水攻击群K你。

包欺骗和原始套接:原始套接和普通套接很相似,除非你想控制发送更高质量的包(这句真是感谢cnbird的提示)。

在普通的套接字你可以提供目的地址和要发送的信息,但是在原始套接字中,你完全可以自己构造一个包含伪造的源地址和TTL(Time to Life)值的包。

Linux的所有版本都支持原始套接,然而却只有Windows 2000、XP和2003(Winsock Version 2)支持原始套接。

这个世界还有哪个缺心眼的还在用Windows 9x?所以如果你有个合适版本的Windows他将会支持原始套接,我想大家都对Steve Gibson aka 略有所闻吧?那个喜欢胡说八道的人——我就这么称呼他的。

我并不是想说更多关于Steve Gibson的事和他的胡说八道,但是那混蛋说:脚本小子总喜欢利用Windows XP来发动DoS攻击,因为XP支持原始套接,这样脚本小子就可以用一些黑客工具来构造ip欺骗。

如果你读了这文章你就会大概了解,脚本小子的攻击并没有Steve这丫胡扯的那种效果,而且正象Steve胡诌的那样原始套接在Service Pack 2以后已经被禁止了。

你根本不用担心这些攻击者利用XP肉机给你发送欺骗包,因为SP2不支持原始套接,因此他们湖可能伪造IP(此时我觉得他们还没有找到解决SP2的这个糟糕问题的方法)。

然而,脚本小子知道了SP2禁止原始套接,所以明显他们是不会去下载它的。

原始套接也一直被在DDoS中使用,我相信拒绝服务傀儡软件的编写者会很快找到解决SP2禁止原始套接的办法。

如果他们一直无法决绝这个问题,那么使用欺骗手段的攻击者很容易被逆向追踪(只要根据他发来的包就可以了)。

依靠原始套接你可以完全构造一个包,如下就是一个IP包头的图例:这表我是从Black Sun Research Facility找来的,就先顶顶用用吧。

防止拒绝服务攻击:保护您的电脑不成为肉机:很多拒绝服务攻击者都是依仗大量的肉机来对web服务器发送攻击,我们可以大家都来帮忙,首先能做的就是保证自己的计算机不被做成肉机(不被安装傀儡软件或者是蠕虫感染)。

如果出现以下几种现象,那么很可能您的计算机已经成为了恶徒的帮凶:1.检查您的电脑是否有很多6667端口的连接(这个端口是IRC使用的),并且您根本没有使用IRC客户端也没有在任何已知情况下访问IRC。

您可以通过netstat –n来查看端口(命令将会反馈IP地址和端口号)。

2.您的反病毒程序(例如:杀毒软件)提示您已经被病毒感染,或者是提示你因为不明原因关闭了。

这些都是被木马或者是DoS蠕虫感染的现象,也就是为什么你的反病毒程序会关闭了。

3.某时您的网络带宽突然占用很高,并且系统莫名其妙的变的慢了。

4.您的防火墙询问您是否允许一些不明程序访问网络,企图连接某个特定的域名,并且企图向它发送ICMP包。