pc软件 文章资讯 手机软件

您当前的位置→图文中心新闻资讯安全播报Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击
阅读排行

Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击


2017/3/13  编辑:admin 来源:本站整理

Necurs僵尸网络再次肆虐, 威力强大可进行DDoS攻击。 Necurs僵尸网络是世界上最大的恶意网络之一, 曾经用于传播各种致命威胁, 但是在很长一段时间内它都没有再出现过, 似乎是已经消失了。 然而现在, 它又回来了, 已知的主要功能是发送大量垃圾邮件, 这里面最引人注目的是Locky勒索软件。 然而, Necurs并不仅仅是一个垃圾邮件程序, 它是一个模块化的恶意软件, 包含了一个主僵尸网络模块、一个用户级Rootkit, 并且它可以动态加载其它模块。

几年以来, 已经有很多对它的研究, 包括它的Rootkit(1、2、3)、DGA、通信协议和垃圾邮件模块, 然而, 除了它的垃圾邮件模块, 其它模块没有太多的公共信息。

几个月之前, 我们在一些被Necurs感染的系统中注意到, Necurs除了使用常用的80通信端口以外, 它还使用了一个IP集和多个不同的端口, 它的通信协议似乎发生了变化, 下图显示了该网络流量的示例:

Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击

最近, 在Necurs僵尸网络的一个解密的C2通信数据中, 我们观察到了一个请求, 目的是加载两个不同的模块, 每一个模块包含了不同的参数列表。 下图是解密的C2服务器响应数据包:

Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击

上半部分是C2服务器对垃圾邮件模块的响应数据, 这是Necurs的知名模块, 参数是C2服务器的地址(链接), 可以从该地址上接收到新垃圾邮件活动的通知。 下半部分是C2服务器对一个未知模块的响应数据, 通过判断响应数据中的参数值, 我们看到它使用了5222端口。

我们是在2016年9月注意到这个模块的, 该模块的编译时间是“2016年8月23日”, 这个时间表明该模块是从这个时候开始应用的。 当然, 也有可能相同模块的另一个版本在以前部署过, 只是没有被注意到。

我们下载了该模块, 并对它进行逆向分析, 试图了解它到底实现了什么功能。 第一眼看上去, 它好像是一个简单的SOCKS/HTTP代理模块, 但是当我们看到该僵尸程序可以接收C2服务器的命令时, 我们意识到这是一个新添加的命令, 它可以引起僵尸主机向任意目标无限循环的发送HTTP或UDF请求, 这种方式只能解释为是DDOS攻击。 考虑到Necurs僵尸网络的规模很大, 这将是非常有趣的, 规模这么大的僵尸网络可能会产生强大的DDOS攻击力。

需要注意的是我们还没有看到Necurs被用于DDOS攻击, 我们只是在它加载一个模块中看到了它有这种能力。

接下来的内容里, 我们会对该模块进行技术分析, 详细介绍它的C2协议、SOCKS/HTTP代理功能、和DDOS攻击功能。

一、模块启动/初始化

当该模块被僵尸程序加载后, 它会执行以下初始化操作:

1.对参数进行解析, 并将解析结果存储到一个内部C2地址列表中。

2.用以下信息填充一个内存数据结构(下图中的botsettings数据结构), 它包含了以下信息:

僵尸主机ID:根据收集的独特系统信息产生的唯一标识。

内部IP地址:通过检查出站套接字连接google.com时所用的IP地址。

外部IP地址:通过ipv4.icanhazip.com或checkip.dyndns.org网站得到的主机外部IP地址。

可用带宽:通过从微软下载Windows 7 Service Pack 1文件来测量下载速度。

SOCKS/HTTP代理服务端口:大于1024的一个随机监听端口。

3.检查系统是否运行在NAT后面:通过检查出站套接字IP地址是否与本地地址、外部地址相匹配。 如果系统没有在NAT后面, 该僵尸程序会开启一个SOCKS/HTTP代理服务, 监听一个大于1024的随机端口。

botsettings的数据结构如下图:

Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击

二、C2通信协议

在初始化之后, 该僵尸程序会循环进入主C2连接过程, 除非另有指令, 否则, 在这个过程中, 它会每隔10秒钟尝试连接一次当前C2服务器, 如果连接当前的C2服务器失败了, 它会尝试连接C2地址列表中的下一个C2服务器。

该通信协议代码是二进制的, 并且使用了自定义算法进行了加密/模糊。 发送到服务器的信息(消息)采用了相似的数据结构(请看下图中botmsg和c2msg结构), 并包含了下面的数据:

1.密钥:32位加密密钥。

2.加密头:消息本身的一个被加密的头部数据结构(下图中botmsgheader和c2msgheader结构), 里面的信息用密钥加密了, 包含了以下信息:

消息类型:定义了发送的消息/命令类型, 大小为1字节。

载荷长度:发送的载荷长度。

头部HASH:代表了消息中第一字节的HASH值(key,msgtype,unknown和datalength)。

数据HASH:载荷的HASH, 用于检查数据的完整性。

3.加密的载荷:一组被发送的数据, 用密钥的反向值加密过。

Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击
Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击

这就是僵尸程序发送到C2服务器的三种类型的消息, 可以通过头部信息中的msgtype字节来区分它们。 通常, 有以下三种类型的消息:

1.信标(msgtype 0):这是僵尸程序每10秒钟发送会给C2服务器的主要消息, 该消息的结构是前面提到过的botsettings结构。

2.连通性检查(msgtype 1):这是一个简单的虚拟消息, 除了加密的消息头, 不包含其它数据。 这个消息是在僵尸程序连接C2服务器超时时发送的, 目的是查看当前C2服务器还能不能用。

3.代理回连(proxybackconnect)(msgtype 2):在僵尸主机收到C2的开启socks回连命令时, 僵尸主机会建立到C2服务器的连接, 并给C2服务器发送这条消息, 并且会将发送这条消息时建立的套接字(复用该套接字)直接用到SOCKS/HTTP代理连接中, 这样做的好处是连接发起动作看起来就像是代理客户端发起的。

作为信标的响应包, C2服务器发送给僵尸程序的消息(或命令)也有三种类型, 也可以通过头部信息中的msgtype字节来区分它们:

1.开始回连代理(start proxybackconnect)(msgtype 1):

起初, 僵尸主机给C2服务器发送一个代理回连(proxybackconnect)消息, 然后, C2服务器给僵尸主机发送这条(start proxybackconnect)消息, 告诉僵尸主机开始回连代理会话。 该会话的套接字将会被重用, 允许作为一个代理被僵尸程序使用, 即使僵尸主机在防火墙之后, 并且没有建立到它的直接连接。

2.睡眠(msgtype 2):

这会使僵尸主机睡眠5分钟。

3.开始DDOS(msgtype 5):

该命令下达后, 会对消息有效负载中指定的目标开始进行DDoS攻击, 攻击活动有两种模式:

HTTP洪水攻击:如果消息载荷的前几个字节是“http:/”, 僵尸程序会对目标开启HTTP洪水攻击。

UDP洪水攻击:如果消息载荷的前几个字节不是“http:/”, 僵尸程序会对目标开启UDP洪水攻击。

三、代理功能

该SOCKS/HTTP代理服务和命令, 允许僵尸网络拥有者将该僵尸主机作为一个代理(HTTP,SOCKSv4和SOCKv5协议)来使用, 并使用两种操作模式来进行中继连接(直接代理和回连代理)。

在直接代理模式下, 客户端会连接代理服务, 然会代理服务会将连接转向到目的地, 如下图所示:

Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击

这只有在僵尸主机没有受到NAT和防火墙保护时才有可能, 这种情况在大多数僵尸网络中是不行的。

在代理回连模式下, 客户端会连接到代理控制器, 然后会从代理控制器的可用代理池中获得一个出站代理, 并通过它来进行连接中继。 如下图所示:

Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击

这种操作模式有几个优点。 最大的一个优点是, 即使被感染的系统运行在NAT后面也能正常工作, 并且, 这将允许僵尸网络能连接到内部网络资源中, 就好像是来自内部机器的连接。 这种代理的另一个常见用法是可以频繁的变换IP地址, 方法是通过频繁和自动的改变僵尸主机的配置(充当代理的僵尸主机)。

简要的看一下这种代理方法是如何实施的, 下图显示的是该C2命令处理函数的一部分:

Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击

在僵尸程序收到C2发来的“开始回连代理”(startproxybackconnect)命令时(msgtype 1), 僵尸程序会向C2服务器发送一个“回连代理”(proxybackconnect)命令(msgtype 2), 然后, C2服务器会使用相同的套接字(该套接字所在的连接是僵尸主机给C2服务器发送proxybackconnect命令的套接字), 并进入到startprocessincoming函数(请看上图)中处理实际的代理工作。 这意味着用于连接C2服务器的通信连接同时也被用于了代理连接中。 Processincomming函数会从传入连接中读取2字节(直接代理或通过回接代理), 然后, 它会检查前面的值是否是5(SOCKSv5)、4(SOCKSv4)、或包含数字和字母(HTTP代理)然后, 它会调用每个支持协议的相应函数, 去处理实际的代理工作。

Necurs僵尸网络再次肆虐,威力强大可进行DDoS攻击

四、DDOS攻击功能

DDOS攻击方法可能是该模块最有趣、最意想不到的一个功能, 这个模块只包含了两个基本的DDOS攻击方法, 没有类似于“源IP地址欺骗”或“放大技术”的特殊功能。 然而, 考虑到Necurs僵尸网络的规模(每24小时有超过100万个活性IP), 即使是最基本的技术也能产生非常强大的攻击力。

相关文章

iPhone X与《王者荣耀》适配,大黑边消失了:苹果iPhoneX,当下最火的智能手机,《王者荣耀》则是目前最火的手机游戏。

iphone X主板维修故障流程图:iphoneX分两块板,逻辑小板分A,B面,第二块通讯板,而小板就焊接在上面,接下来我们正对iphoneX做一个简易介绍逻辑小板A面7代产品对比:新增Q3700摄像电源管理器输出1.1V控制管,U6110USB控制器供电管,U5600TOU...。

iPhone X的12个隐藏细节:iPhoneX是苹果对iOS核心操作的一次重构,第一次iPhone有了更高的屏幕,第一次iPhone启用人脸识别,第一次iPhone没有了Home键。

发表评论
网站帮助 - 广告合作 - 下载声明 - 网站地图