僵尸网络浅析

2018-10-15  本文已影响102人  AI_Engine

    欢迎关注我的微信公众号:AI Engine

    很久没有写关于安全的文章了,虽然自己也是菜鸟,但是一直秉承谦虚谨慎的态度。所以希望如果有大神看到鄙人的文章觉得哪里有所不妥,本人一定虚心请教。

    今天我们来谈谈业界比较流行的话题——僵尸网络。僵尸网络它是个啥呢?答案:采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序),从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。说白了就是比如你是黑客,你通过僵尸程序控制了好多别人的电脑主机,你们之间的关系网络即为僵尸网络。僵尸程序可以是一种木马、病毒、蠕虫等等,黑客利用某些用户主机的系统漏洞、发送钓鱼邮件或者社工等手段抓取了一定数量的肉鸡后,就对肉鸡们植入僵尸程序,这样僵尸网络就慢慢组成了。组成的僵尸网络可以用来当做二级服务器进行病毒样本的散播,也可以用来进行一些DDoS攻击、CC攻击等一些需要大量服务器进行的大规模分布式攻击,影响很大。我们先看一下比较典型的僵尸网络生命周期(盗图):

    当肉鸡上线后,控制端就可以得知肉鸡上线信息,并对肉鸡进行命令、远程控制。在早期的僵尸网络结构中,僵尸主机(肉鸡)通常采用轮询的方法访问硬编码的C&C域名或IP来访问命令控制服务器,从而获取攻击者命令。但是由于硬编码的域名或IP固定且数量有限,且检测人员通过逆向掌握该部分内容后可对该域名进行有效的屏蔽,阻断其命令控制途径,使其失去控制源并逐渐消亡。而现在与C&C(命令与控制)通信告之新的客户端上线时,僵尸网络已出现各种加密通信信道,以避免IDS、IPS、防火墙或其他方式的网络侦听,并通过DGA域名生成算法以及动态ip不断构建新的链接方式,使肉鸡与攻击者保持通信并且可以躲避检测。这些可以躲避检测的恶意行为我们可以暂时称之为未知威胁,已知威胁我们通常会采用签名和规则等对其进行检测,但是像这种无明确特征的攻击就属于未知威胁了,我们可以采取机器学习等方式对其检测,所以对攻击行为的数据特征要进行分析。我通过搭建目前比较流行的木马远控工具XRAT以及其变种,发现木马远控数据流量多种特征,下面简单列出几种:1.心跳报文较多,且数据包size较小,而且心跳数据包是贯穿攻击自始至终的。2.上行流量大于下行流量,大约比例在3:1。3.PSH标志位的数据表较多。4.数据包之间的时间间隔与正常远控工具有较大差别。我们通过wireshark看看流量呈现:

这是纯心跳报文,length很小,因为keep-alive所传输的内容较为简短:

我们看一下远控桌面时的报文,有较大数据传输时数据包大小是有变化的,而且报文的传输频率也是发生变化的:

附上部分报文内容,我们可以看到c^c字样,这会是一种巧合么,也许逆向后才能知道答案吧。

最后给大家一个思维导图的初稿,由于是今天才画的,所以还不够完善,会不断填充的。

上一篇下一篇

猜你喜欢

热点阅读