一、 僵尸网路技术
“肉鸡”这个黑客术语指的是被黑客秘密控制的主机,当“肉鸡”规模达到一定程度之后就会出现不易管理的问题,为了解决管理的问题,出现了相应的网络技术,于是就出现了僵尸网络。
对于大规模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]
l 获取僵尸节点
使用搜索引擎获取僵尸节点是最便利的途径。通过搜索,获取了寻找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所示。
图 2 一个搜索得到的webshell
图 3 shodan搜索得到的Cisco Linksys后门
这些获得的后门,经过简单的处理就可以被黑客做成僵尸节点,从而构建僵尸网络。当然在有的情况下控制一个目标后还需要进行提权处理,否则很多功能无法实现。
l 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大很多,是由很多报文组成的,因此实现了放大。