S2-045已过,Botnet威胁犹在(Are you a real person?)

2017-06-16 19:43:29 Maltrace 水滴安全实验室

一、背景


3月初,突如其来的S2-045远程代码执行漏洞席卷全球,数以百万计的大小网站相继沦陷,其中不乏一些大型互联网公司网站。5月初,Wcry蠕虫借着MS17-010(永恒之蓝)又一次将安全的话题推上风口浪尖。互联网平静的表象下暗流涌动,通过漏洞利用形成大规模的僵尸网络隐匿在其中,随时对互联网安全造成威胁。


二、蜜罐事件分析


蜜罐作为防御者改变攻防博弈不利局面的利器,在持续的计算机网络安全攻防对抗中一直扮演着“先知”的角色。在漏洞爆发时刻,我们感受到了一个不一样的网络世界,这是一场没有硝烟的战争。S2-045漏洞爆发期间,每天都有N多个同样的payload从世界各地发送过来进入我们的分析系统,测试性的扫描器、针对性的攻击、批量病毒木马传播等夹杂在一起。

接下来我们挑选了一个长期利用多种方式进行传播的僵尸网络进行介绍。它在S2-045漏洞爆发过程中迅速活跃起来,抢占先机获取更多的“肉鸡”。

 

S2-045攻击期间使用的payload之一

 

此类同源样本的传播在先前的攻击中已经多次出现,接下来我们将依次展开其中涉及的一些攻击途径。同时,我们在溯源过程中也切实的获得了攻击者进行着一系列攻击使用的代码。 

 

三、僵尸网络浮现

 

简单易用的远程代码执行以及系统弱口令一直是病毒木马程序传播的重要途径。此次我们介绍的僵尸网络事件也运用了不外乎这两种传播手法扩大自己的规模,获取更大的利益。

 

该攻击通过远程执行命令漏洞,下载远程服务器的“肉鸡”上的脚本。


下载指令


 通过分析发现该木马修改自一款比较老的IRC木马(PowerBots)。它利用IRC协议进行管理控制自己僵尸网络中的“肉鸡”,可以接收攻击者发出的“攻击指令”,完成命令执行、端口扫描、DDOS攻击、文件下载等功能。由于Linux主机对于perl语言的良好支持以及perl脚本的简单易用,这种类型的僵尸网络一直受到黑客群体的亲睐。

 

部分木马脚本代码

 

登陆控制者的控制服务器。

如下图,是四月份登陆的检测情况,发现具有2000+台上线的机器。事后发现不然,网络的控制者不断的给客户端发送相同的指令,同一个服务器可能会多次上线。

 

4   控制服务器中“肉鸡”在线情况

 

 

由于第一次登陆的“肉鸡”名称随手写的,和该僵尸网络的肉鸡命名规则不一致,引起了管理员的注意,于是收到管理员发来一个私聊信息:


管理员询问

 

由于IRC服务器本身提供的匿名保护功能,我们站在客户端的角度无法看到聊天室内其他肉鸡的IP位置信息。

 

IRC服务器端针对IP地址处理的掩码算法如下图


客户端掩码算法(针对IP地址)

 

其中,算法中的KEY1、KEY2、KEY3分别是IRC服务器端随机生成写在配置文件中的长度不定的字符串。分析可知,要想从如图聊天室中获取上线客户端的IP难度较大。 

 

四、持续跟踪

 

通过一段时间的观察,发现S2-045漏洞攻击过后一直相对稳定。但是,控制者对于依靠肉鸡发起的对外攻击从未停止。

 

首先,“肉鸡”会在管理员的控制下每隔一段时间就会从两个位置(http服务器与ftp服务器)下载功能相同的恶意脚本(如图2)。

 

下载的shell脚本完成自动下载挖矿程序与收集主机信息的功能。


控制者利用“肉鸡”收集信息

 

接下来会利用本机相关的密码以及一些特定的弱口令对搜集的主机进行爆破或者尝试使用公私钥方式登陆,一旦登陆成功就会下载执行指定的程序完成肉鸡上线,下载挖矿程序,循环往复。

 

僵尸网络控制者使用了多种攻击手段利用“肉鸡”扩大自己的战果。


(一)  SSH爆破

 

控制者会利用肉鸡进行无规律的对外攻击。其中,SSH爆破最为常用。我们的成功捕获过多次攻击。通过技术分析,我们成功了登陆了发起扫描爆破的几台主机。如下图,爆破程序在“肉鸡”上发起对外的扫描。

 

8  SSH对外扫描爆破

 

其中的txt文件存储了扫描成功的结果:


9  SSH扫描爆破使用的程序

 

如下简要统计了一次爆破的部分结果: 

 

10  部分SSH爆破结果

 

登陆其中一台爆破成功的主机,发现已经沦为肉鸡


11  沦为肉鸡的服务器连接主控端

 

(二) 发送带有恶意程序邮件

 

每一台被控的主机都可能被用来进行多种攻击。分析发现,控制者会利用被控主机不断的给同一个邮箱发送带有勒索软件的邮件。


12  发送邮件代码 

 

其中zip文件为邮件添加的附件,包含了勒索软件。


13  邮件相关程序代码

 

(三)  Java反序列化漏洞利用

 

Java反序列化漏洞的批量利用也为攻击者带来了大量肉鸡。下图为我们获取的攻击者使用的脚本。

 

14  Java反序列化漏洞利用相关代码

 

漏洞利用成功会执行下载指令。


15  java反序列化批量漏洞利用

 

分析其扫描日志发现当时有8000+台相关受影响的主机被攻击


16  部分受Java反序列化漏洞影响主机 

 

(四)  S2-045漏洞攻击

 

利用s2-045漏洞批量扫描执行攻击,成功执行则下载指令完成肉鸡上线


17  批量利用S2-045漏洞的部分代码


其中,port与port1存储了部分要被扫描的端口,rand用于随机生成扫描的网段,由另一个程序pnscan完成IP与端口的探测功能。S2-045攻击脚本读取上一步骤中搜集来的IP端口列表,并成功命令执行控制肉鸡上线。

 

18  攻击并执行命令

 

如果是windows主机的话,被攻击成功之后会下载一个勒索软件。如果是linux主机下载“肉鸡”客户端程序以及挖矿程序执行。 

 

五、后续


随着时间的推移,人们对S2-045漏洞关注的热度逐渐降低。但是,被此漏洞拿下的大量“肉鸡”已组成规模庞大的僵尸网络,将会在很长一段时间威胁着互联网安全。

水滴安全实验室致力于僵尸网络的发现与监测,以及黑产溯源。我们会持续跟踪僵尸网络的后续进展。