DDOS攻击-僵尸网络和流量放大

转载 2016年08月13日 19:49:05

往期文章里曾经全面介绍过DDoS攻击,本文将着重研究当前最流行的DDoS攻击——反射式DDoS攻击。

文/石岩

2014年6月20日,香港民意调查投票网站PopVote.hk遭受超大规模的DDoS攻击,攻击流量史上第二高。PopVote使用了CloudFlare的服务,CloudFlare是一家CDN服务供应商,在抵御DDoS攻击方面非常专业。从一开始CloudFlare就使用了亚马逊的AWS云服务,并且将谷歌的Project Shield作为第二层DDoS防御机制。在为期10天的PopVote投票时间里,网站遭遇了多起大规模的DDoS攻击,DNS反射流量高达100Gb,而NTP反射流量最高到达300Gb,TCP连接请求最高达每秒一亿次,在攻击中还有HTTP洪水攻击、HTTPS攻击,甚至出现了新的DNS Flood攻击,最高每秒钟2亿5千万的DNS请求,未经放大的情况下就达到了128Gb。亚马逊AWS因为无法应对大规模流量而停止服务,谷歌也因为流量过于庞大影响到了其它服务而被迫宣布退出。最后在多家网络服务商共同努力之下才勉强撑过了这段投票时间。

近几年发生的大规模DDoS攻击事件中,频繁出现反射式DDoS技术,其最重要的两个技术是僵尸网络和流量放大。

一、 僵尸网路技术

“肉鸡”这个黑客术语指的是被黑客秘密控制的主机,当“肉鸡”规模达到一定程度之后就会出现不易管理的问题,为了解决管理的问题,出现了相应的网络技术,于是就出现了僵尸网络。

对于大规模DDoS,长期以来存在一个误解:很多人甚至包括大量IT从业人员都觉得组建一个僵尸网络技术要求很高、非常困难,因此大规模DDoS攻击是很少见的。其实这个观点是错误的,僵尸网络的技术困难程度是随着互联网规模的增加而迅速递减的。如今计算机的主要用户是普通大众,而普通大众对安全问题基本没有有较多了解。Rapid 7的首席安全官HD Moore曾经表示:“你可以使用一个默认密码登录几乎一半的互联网”,在这种现状下构建一个大规模僵尸网络并不是一件困难的事情。

构建僵尸网络最核心的工作是获取僵尸节点,这里介绍几种常见的黑客获取僵尸节点的方法。

¡ 利用搜索引擎获取僵尸节点。仅仅利用搜索引擎就可以获取大量现成的或者几乎现成的僵尸节点。黑客经常使用Google Hacking技术和shodan搜索引擎获取僵尸节点。任何一个人在搜索引擎之中搜索关键字“googlehacking backdoor”、“shodan backdoor”都会获得很多这方面的资料,按照这些资料在加上基本的计算机知识就可以获得一些僵尸节点。

¡ 利用MetaSploit渗透远程主机。在PopVote案例中,大量的僵尸节点都是来自于台湾,据台湾一些相关专业人士的分析,主要原因在于大多数人都没有更新软件补丁的习惯,而这种现象在全世界都非常普遍,这就给黑客留下了大量的可利用漏洞。MetaSploit是渗透的利器,其中集成了大量已知漏洞的exploit,即便对于根本不了解漏洞原理的人,也可以使用MetaSploit轻松实现对目标系统的入侵。

¡ 利用Struct、Apache、Discuz等开源软件的安全漏洞控制主机。有一些开源软件在全世界拥有大量的用户,因此任何针对这些开源软件的安全漏洞都会影响到大量主机。令人难以置信的是,即便是很老的安全漏洞,依然有很多主机没有打补丁。利用shodan、zoomeye、google可以获得大量仍然有漏洞的主机列表,然后利用搜索引擎找到相应exploit,使用exploit即可完成对漏洞主机的控制。

¡ 利用破解软件、绿色软件植入木马。曾经风靡一时的破解版、绿色版XP系统大部分都含有root级别的后门程序,而现今网上很多破解、绿色版的软件也都含有木马程序。很多人在享受便利、免费的时候已经被黑客完全控制了。

¡ 直接黑市购买僵尸网络服务。如今黑帽黑客已经创造了一个非常巨大的地下产业链,在这里几乎可以买到一切,个人信息、数据库、僵尸网络…。发动一次中等规模的DDoS攻击数千美金即可实现。

二、 流量放大技术

流量放大是DDoS中常用的技术手段,基本原理相对简单。对于一个C/S服务,如果Server到Client的Reponse报文比Client到Server的request报文更大,则实现了流量的放大。为了在DDoS中使用放大技术还需要满足一个条件,即Server提供的服务是基于UDP这样的无连接协议。

如图1所示,Server端提供某种基于UDP(理论上raw ip也可以)的服务,例如DNS、SMTP、NTP等,找到一些请求,其中Reponse报文比Request报文大,利用这些可以放大的请求,Attacker发送一个伪造源IP的Request报文,源IP伪造成受害者的IP地址,Server收到Request报文后向受害者回复“放大的”Reponse报文,这样就实现了流量的放大。

图 1 典型DDos流量放大

表 1列举了一些经常用于反射型DDoS攻击的协议及其放大倍数。

表1 常见反射性DDoS攻击的放大倍数

三、 NTP反射式DDoS攻击

迄今为止最大规模的DDoS攻击来自于NTP协议反射式DDoS攻击,本节将通过一些细节来说明如何发动NTP反射式DDoS攻击,并着重介绍上述两个关键技术。[1]

获取僵尸节点

使用搜索引擎获取僵尸节点是最便利的途径。通过搜索,获取了寻找web shell的google hacking关键字,如“intitle:”=[ 1n73ct10n privat shell ]=””,通过google搜索该关键字便获得了很多结果,随便打开一个链接,得到图 2所示的webshell。虽然现在流行用“小马”控制web服务器(“小马”无法通过搜索得到),但还是遗留有大量的“大马”控制的web服务器,而其中有一些就可以通过google搜索得到。

使用shodan获得backdoor。shodan是一个特殊的搜索引擎,和Google等搜素引擎不同的是,shodan同时抓取非80端口的信息,它可以很轻松得搜索到FTP、SSH、TELNET等其他服务。在google搜索引擎中搜索“shodan backdoor”会返回很多结果(也可以通过exploits.shodan.io搜索,会获得更多准确结果)。如Cisco Linksys TCP-32764后门,它允许攻击者绕过认证间接控制目标,这个漏洞影响范围非常的广,并且网上都有现成的poc[2]和exploit[3]。使用shodan搜索这个后门,如图2所示,一共可以获得3328个返回结果,这些结果的大部分都可以被直接利用。

另外一个D-Link的backdoor,D-Link在web管理中加入的一个后门,可以修改HTTP的User-Agent绕过web认证直接访问路由器,同样可以用shodan获得745条结果,如图3所示。

说明: shell.PNG

图 2 一个搜索得到的webshell

说明: tcp-32764-3328.PNG

图 3 shodan搜索得到的Cisco Linksys后门

这些获得的后门,经过简单的处理就可以被黑客做成僵尸节点,从而构建僵尸网络。当然在有的情况下控制一个目标后还需要进行提权处理,否则很多功能无法实现。

NTP流量放大

NTP(Network Time Protocol)是一个常见的协议,用于提供时间同步服务。它是典型的基于UDP的协议,这个协议相当古老,在最初的设计中也没有考虑到认证,所以是一个理想的黑客利用对象。

从表1我们看到NTP可以实现556.9倍的放大效果,这来自于NTP的monlist命令。NTP monlist命令用来查询最近所有和Server通信的记录,服务器返回最多600个通信记录,这个倍数非常巨大,而在互联网上有大量的NTP服务器,可以通过僵尸网络分布式查询、放大。

图 4 NTP流量放大

如图4所示,Server端提供NTP服务,Attacker发送了一个NTP monlist Request给Server,但其源IP地址不是自己的IP地址,而是攻击对象Target的IP地址,Server收到请求后会向Target(而不是Attacker)发送Reponse报文。由于Reponse包含了和Server的600条时间同步记录,比Request大很多,是由很多报文组成的,因此实现了放大。

四、 结束语

DoS攻击是非常常见的一种攻击,根据最新的统计,2014年全球平均每小时遭受28次DoS攻击,频繁程度让人瞠目。对于很多IT从业人员来说,他们认为由于技术门槛高遭受DDoS攻击的可能性比较低,本文通过展示一些技术细节用于说明在当今的信息安全形势下发动一次DDoS攻击并不需要太高的技术门槛。所以,对于企业来说,合理部署安全产品,增加出口,部署CDN可在较大程度上降低DDoS攻击造成的损失。

Linux(CentOS)网络流量实时监控(iftop)

在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。 若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。...
  • gaojinshan
  • gaojinshan
  • 2014年11月04日 10:53
  • 35571

linux 查看网卡流量六种方法

linux 查看网卡流量六种方法 本文介绍了linux下查看网卡流量的六种方法,linux系统中使用nload、iftop、iostat等工具查看网卡流量,需要的朋友参考下。 方法一、nload工...
  • SHEDONG1011
  • SHEDONG1011
  • 2015年09月20日 15:39
  • 32521

DDOS入门介绍(二):常见攻击手段与原理

DDos常用的攻击方式有多种:如SYN Flood,DNS query, ICMP Flood, UDP Flood等。本文从DDOS攻击资源种类的角度对常见的攻击手段进行描述1. 基础知识想要比较理...
  • sun7545526
  • sun7545526
  • 2017年05月27日 16:04
  • 1532

分享下今天研究的流量上限DDos攻击分析和解决方案

分享下今天研究的流量上限DDos攻击分析和解决方案   经常听到或者碰到某个网站被攻击,一般都是流量攻击。今天自己写了个程序测下相关的上限,程序只简单做了个get html操作(不包含图片等资源文...
  • aqzwss
  • aqzwss
  • 2014年12月02日 18:23
  • 390

在Linux下怎么看网络流量

在Linux下怎么看网络流量? 在Windows下,我们可以很方便的通过360来查看网络流量,知道哪个进程占用的网络带宽比较多。那在Linux下怎么看流量呢,对于Web服务器来说这是很重要的。 ...
  • supermanwg
  • supermanwg
  • 2015年08月13日 14:57
  • 4038

网络带宽和流量单位换算

前言: 平时我们都会说拉宽带,然后又会说到带宽,就会感觉有点懵逼;还有在我们实际上网应用中也常会说拉了1兆(M)的宽带,下载速度才100多KBps(KB/s)等宽带速率大小字样; OK,因为个人对...
  • PEACEFUL000
  • PEACEFUL000
  • 2016年08月07日 23:53
  • 8189

DDoS详解(一)

僵尸网络 分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器 技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发...
  • qq_35553433
  • qq_35553433
  • 2017年11月04日 12:28
  • 42

经历锲而不舍的DDOS攻击

从昨晚的18:50分开始,每隔30分钟左右进行10G流量的ddos攻击,实在没招,只能使用阿里云的高防IP来防御。                主要的攻击是:      趁此机会,全面了解DDo...
  • hguisu
  • hguisu
  • 2017年04月28日 14:58
  • 13502

网络数据流量分析

网络流量分析 1. 基本概念 IP地址 域名(主机机器名.单位名.网络名.顶层域名) 服务器/主机(Apache最常用 的网络服务器) 客户机 2. 对于每一个请求,服务器在日志文件中记录下用...
  • houxiaoqin
  • houxiaoqin
  • 2015年08月18日 08:33
  • 2185

windows获取系统网络流量

  • rongxiaojun
  • rongxiaojun
  • 2015年01月04日 18:07
  • 2485
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DDOS攻击-僵尸网络和流量放大
举报原因:
原因补充:

(最多只允许输入30个字)