查看: 2120|回复: 8
收起左侧

[技术原创] XshellGhost再现?使用DNS隧道传输的PlugX远控变种分析

[复制链接]
360主动防御
发表于 2018-9-6 17:02:46 | 显示全部楼层 |阅读模式
本帖最后由 360主动防御 于 2018-9-7 16:43 编辑

前言
距XshellGhost事件过去整整一年,360核心安全的听风安全威胁预警平台近日再次发现一起攻击事件,该次攻击使用了与XshellGhost相似的DNS隧道传输技术,以此绕过安全检测并隐蔽传输数据。

该后门木马结合DNS隧道传输技术和PlugX远控程序,通过建立的DNS隧道进行攻击控制。利用DNS请求应答机制作为攻击渗透的命令控制通道,把C&C服务器指令封装到DNS相应报文中,以此控制被控端主机。并且依托DNS协议的特性,该木马可以有效穿透防火墙,躲避常规的安全检测。



发现与追踪
         听风平台是360核心安全针对异常DNS隧道传输数据的监测预警平台,该平台已快速有效的预警了多个利用DNS隧道技术的木马后门程序。

如去年发现的XshellGhost利用DNS隧道传输数据,木马根据DGA算法生成当月的上线域名“nylalobghyhirgh.com”,并将用户信息编码到子域名部分发起TXT类型的DNS查询进行受控端上线。

同样地,使用相类似的监测方式发现本文披露的PlugX变种木马。虽然该木马直接使用C&C域名0nlinecc.com进行攻击,但同样将编码后的全域名发送到公共DNS服务器来建立通信隧道,并且也是通过查询TXT来返回数据。

经过追踪,发现攻击团伙使用钓鱼网站来传播木马。该团伙制作了与全球知名聊天软件Provide Support的官网相似度极高的网站,其注册的父域名为【providsupport.com】,比官方域名【providesupport.com】在provide中少了一个e,非常具有迷惑性。同时该钓鱼网站仿冒的下载更新页面,弹出的小窗口故意设置成不可关闭,用来诱导用户下载木马后门程序。


钓鱼网站诱导用户下载木马软件的部分源码:

该钓鱼网站近期更新的新版本的下载地址,使用了一段释放后门程序的VBS脚本。



样本分析
虽然该系列样本从2016年开始至今一直在更新迭代,但是其最终加载的核心模块基本不变,本文以目前仍活跃在钓鱼网站上的样本为例进行分析。


         本例样本的主要的运行流程如下:



装载过程
运行程序后,首先会通过检测注册表来判定目标用户是否安装正常的Provide Support的软件产品,若没有安装则不进行下一步感染。

若环境检测通过,程序将在临时目录里释放恶意模块LiveSupportUpdate.log,并运行rundll32.exe来调用该模块的导出函数CheckUpdate,该函数第三个参数为解密ShellCode用的哈希串:

LiveSupportUpdate.log解密完ShellCode后随即创建一个线程开始运行,ShellCode开头是一段加入混淆指令的自修改代码,主要功能为解密下一步的LOAD代码:


解密完后进入LOAD代码,其主要功能是内存解密并加载PlugX核心模块,调用RtlDecompressBuffer函数解压后在内存出现PlugX原始模块,该模块是个DLL程序,只不过DOS头部和PE头部两个标志均被修改为“XV”:

然后LOAD代码进一步分配内存,进行PE节映射、导入API地址等步骤后就执行PlugX入口点函数:



PlugX模块
进入PlugX模块后,程序开始做一系列的初始化工作,其中包括调整进程权限、创建一些辅助线程、安装核心的远控对象等,然后就进入远控上线流程。由于模块功能比较复杂多样,本文仅介绍其通过DNS隧道进行远控上线和控制的部分内容。


首先,该模块通过初始化一个全局控制对象来安装核心远控的功能插件,每个插件都对应一个功能字符串和回调函数,字符串解密后可以直接看出该插件的功能含义,如磁盘操作(DISK)、键盘记录(KeyLogger)、网络浏览(Nethood)等,更多的插件功能详见附录。

安装了远控插件后,进入上线流程之前,程序先初始化了一个DNS通信隧道的控制对象,其中主要是创建2个控制事件用于接收数据和初始化一个0x40字节大小的时间序列用于上线标记。

接着程序进入上线流程,将备选的4个公共DNS服务器IP拷贝到DNS控制对象、创建UDP套接字后,随即创建一个收发线程准备上线,而上线的方式即是分别往4个公共的DNS服务器和网关DNS发送0x48字节的上线包,这0x48字节的上线包就包含初始化DNS控制对象时生成的0x40字节时间序列,具体结构如下:


随后该上线包经过转换成DNS接受的字符后就被编码到“dns.0nlinecc.com”的子域名中,然后构造TXT类型的DNS查询包发送给各个DNS服务器。

为了接收到从公共DNS(如8.8.8.8)转发而来的上线数据包进而控制受害用户,木马作者对域名“0nlinecc.com”添加了一条NS记录来指定“dns.0nlinecc.com”的DNS服务器为自己控制的服务器,该服务器地址刚好和PlugX模块里使用到的另外一个上线地址“cdn.0nlinecc.com”一致:

当服务器接收到上线包数据后,将会返回控制数据给PlugX模块处理。控制数据经过公共DNS转发返回到PlugX的接收流程后,程序就对接收到的TXT回包进行校验和解码,除了正常编码的TXT数据外,还需要添加一条长度为0的空Text作为结尾才可以通过程序检查到达下一步控制流程,下图为正确返回包的格式示例。

通过格式检查后进入解码判断流程,解码后的数据头部是一个状态字段,主要包含3种接收状态,分别表示开始接收、正在接收和完成接收,每种状态完成各自的标志设置或数据接收任务,最终协作完成从服务端接收控制数据并存储到DNS控制对象的任务。

接收完控制数据后,程序进一步检查数据并对其解压后就进入了控制流程。控制流程包含信息收集、调用远控插件、退出等多个管理功能,调用远控插件的方式是通过全局控制对象里安装的插件列表,分别调用每个插件函数,插件函数内部会根据第二个参数来控制执行不同的功能,如果没有执行到插件功能则直接返回-1。

例如执行进程管理插件的功能函数,根据第二个参数指向的控制码字段来判断执行的插件子功能,进程管理主要有3个控制子功能分别是枚举进程列表,枚举模块列表和结束进程,若控制码不在这3个其中则返回-1。

至此,PlugX模块成功通过公共DNS服务器与远端服务器建立了通信隧道,远程的控制端则能够使用该通道发送控制命令来调用受害机器的远控插件,进而完成远程控制的任务。



挖掘与统计
         根据样本远程控制所使用的C&C域名,查询Whois公共信息库不出意料,该域名开启了信息隐私保护,无法联系到域名所有者。另外发现,该域名早在2015年就已经注册,并在随后陆续进行了一些攻击活动。

根据360天眼追踪系统的数据来看,攻击团伙经常更换域名对应的C&C服务器,基本上每隔几个月就会换一次IP地址,从2015年至今切换IP近10次。

从DNS查询数据来看,统计了2018年1月份到2018年4月份的部分数据,累计总查询量约1千万余次,其中2月份发生过两次明显的攻击,每次产生DNS查询量近5万次。

而从其传播源数据来看,发现先后换过几次钓鱼的网址,但都是针对Live Support这款面向企业用户的聊天软件,且其最终加载的核心PlugX后门模块相同。此外,还意外发现该团伙在2016年所使用的传播域名,却是属于Live Support官方域名的子域名,其具体原因暂未确定。



总结
DNS隧道传输技术其实早已出现,经常被各类木马后门使用来作隐蔽通道以绕过安全检测,去年的XshellGhost后门事件更是将该技术披露到广为人知,以致各方纷纷提出对该类安全威胁的防御与检测方案。


本次360听风预警平台小试牛刀,监测到DNS异常查询并进行威胁预警,让XshellGhost之类采用DNS隧道隐蔽传输技术的恶意软件无所遁形。同时,该平台还采用多维度的分析监测技术,最大程度的提高其安全预警的能力,为用户的安全保驾护航。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
驭龙
发表于 2018-9-6 17:06:33 | 显示全部楼层
大师,如果路由中设置安全DNS服务地址,能抵御这种威胁吗?
Miostartos
发表于 2018-9-6 17:10:18 | 显示全部楼层
网站我这里自动重定向到正确官网了还行
KK院长
发表于 2018-9-6 17:51:18 | 显示全部楼层
防火墙估计瞪眼 瞎,个人中毒了也不好办。
360主动防御
 楼主| 发表于 2018-9-6 17:56:28 | 显示全部楼层
驭龙 发表于 2018-9-6 17:06
大师,如果路由中设置安全DNS服务地址,能抵御这种威胁吗?

无法抵御,龙兄

评分

参与人数 1人气 +3 收起 理由
驭龙 + 3 感谢解答: )

查看全部评分

驭龙
发表于 2018-9-6 18:02:17 | 显示全部楼层
路由的ALG防火墙能防御吗?

不能的话,就只能确保本地不感染这种威胁了,不然很难防御
KK院长
发表于 2018-9-6 18:04:18 | 显示全部楼层
驭龙 发表于 2018-9-6 18:02
路由的ALG防火墙能防御吗?

不能的话,就只能确保本地不感染这种威胁了,不然很难防御

估计路由的防火墙GG, 只能本地发现一种办法我猜。

评分

参与人数 1人气 +1 收起 理由
驭龙 + 1 我也不知道,所以问问大师

查看全部评分

驭龙
发表于 2018-9-6 18:08:36 | 显示全部楼层
KK院长 发表于 2018-9-6 18:04
估计路由的防火墙GG, 只能本地发现一种办法我猜。

不好说,如果是单纯的SPI防火墙可能废掉,但我说的是ASPF这种应用级网关防火墙,所以不好说呢,因为这种级别的防火墙是企业级中比较先进的呢

评分

参与人数 1人气 +1 收起 理由
KK院长 + 1 我猜我也不知道。

查看全部评分

Picca
发表于 2018-9-6 19:27:52 | 显示全部楼层
本帖最后由 Karna 于 2018-9-6 19:29 编辑

cb1d45cf033a791d673b1f357a1c3ae6497ceea2a772c054fff2a7a127083ed6
9cc0f3987ecb886a493365a21903ad0becf2edbd5973d2e6fdbca0577b0c935b
e8cd456d40ae1d3984d5331bce390f534cd072bda76b53d4cee577cf80f5233b

https://www.virustotal.com/#/fil ... 127083ed6/detection   vt上只有第一个有记录,而且是17年出现的,可怕。在我刷新之前,9月4日只有CrowdStrike Falcon、Endgame、Ikarus三家检出,不过这几家结果一直不太靠谱,360带了完整分析,厉害了





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 06:23 , Processed in 0.136957 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表