freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

传统白加黑远控木马分析
2018-09-11 08:30:27

概述:

病毒伪装成一个DLL文件,QQ游戏启动的同时,病毒DLL也会被加载启动。病毒加载之后,会在内存中释放出远控模块,通过建立本地端口映射的方式,意图绕过某些安软的网络拦截,从而控制目标计算机。

病毒目录文件如下:

Clipboard Image.png

整体流程如下:

Clipboard Image.png

 详细分析:

1、启动方式:

首先,病毒作者将关键文件全部隐藏打包了起来,只留了了一个快捷方式,通过调用CMD的方式,打开目录下的QQ游戏大厅程序:

Clipboard Image.png

而QQ游戏大厅程序在启动的过程中,会去加载一个名为:factory.dll的文件,由于Windows本身所设定的DLL加载顺序,目录下的这个factory.dll文件将会被QQ游戏大厅所加载: 

Clipboard Image.png

2、factory.dll

将原版factory.dll和这个病毒的factory.dll进行比较,发现后者多了一些额外的导出函数,仔细观察甚至还会发现,后者有两个导出函数的地址竟然相同,通常一个正常的DLL文件不会这样:

Clipboard Image.png

在factory.dll的导出函数中,被调用的是CreateFactorys函数,这个函数的主要作用是执行病毒的初始化安装操作:

Clipboard Image.png

 在病毒的初始化安装操作中,会先获取加载当前DLL的模块的路径,然后检查此路径下是否存在io.dat文件(被加密的DLL文件),若不存在则直接退出,猜测是用这种方法来反自动化检测程序,防止被发现。若文件存在,则读取到内存中,然后进行解密操作,解密出来发现是另一个恶意DLL文件(远控的核心部分):

Clipboard Image.png

此处所使用的解密算法,通过对比LZMA的压缩算法库(右边是LZMA压缩库的源代码),可以看出,作者采用的其实就是LZMA压缩库:

Clipboard Image.png

解密io.dat文件到内存,并且完成校验(检查是否有正常的PE结构)后,将会被加载执行:

Clipboard Image.png

 程序运行后,会去获取这个新DLL的导出函数地址,并且通过判断当前加载模块的名称是否含有crossfire.exe字样,来执行不同的功能(因为病毒成功加载一次之后,会将文件名改成crossfire.exe,所以从文件名就能够判断是否是首次加载):

Clipboard Image.png

3、解密出来的新DLL

这个新DLL拥有2个导出函数QtxVGA和Update,从前面的分析我们可以得知:Update函数用于首次加载执行,而QtxVGA函数用于非首次加载执行。

(1).Update导出函数

在Update函数中,病毒会首先检测是否存在360的进程,若存在,则直接退出。接着,通过检查互斥体(c91fbfd3142a697886)的存在,来判断系统是否已经被感染,以确定是否是否继续执行,若未感染,则继续执行。


Clipboard Image.png接着,将同目录下的文件全部复制到C:\Users\Administrator\AppData\Roaming\MenuStar,并将加载模块的重命名为crossfire.exe:

Clipboard Image.png为了不让双击快捷方式的人产生怀疑,病毒还会释放打开一张准备好的图片,让人放松警惕,图片被加密保存在了temp,dat文件中,解密后调用命令行打开图片:

Clipboard Image.png

Clipboard Image.png

图片打开之后,病毒会以无窗口的形式运行crossfire.exe,并且在在C盘下创建kwoyou.ini文件,来保存记录病毒运行的日志:

Clipboard Image.png

(2).QtxVGA导出函数

函数一开始会去读取之前的日志文件,然后会创建一个线程去配置电脑上的网络代理信息,如果存在360的话,还会配置端口转发,将96端口的访问全部转发到116.28.191.115:96上去。

此处设置端口转发的目的,是和目标服务器之间建立SSH隧道连接,从而绕过防火墙的拦截(猜测。。。)。将本机的某个端口(96)转发到远端指定机器的指定端口(116.28.191.115:96);本地端口转发是在localhost上监听一个端口,所有访问这个端口的数据都会通过SSH隧道传输到远端的对应端口。

Clipboard Image.png

Clipboard Image.png

接着,就进入到了远控的关键函数F_HackKernelModule_0了。 

在F_HackKernelModul_0中,主要包含了两方面的内容:

1、获取计算机的IP、名称、系统版本号等信息,加密送给黑客。

Clipboard Image.pngClipboard Image.png

2、根据黑客发来的指令,执行相应的操作,如:关闭注销系统、读取模拟键盘、鼠标的操作、屏幕监控、修改注册表、系统服务等。

Clipboard Image.png

具体如下:

1、对键盘、鼠标、剪切板的操作:

Clipboard Image.png

2、对硬盘文件的操作:

Clipboard Image.png

 3、对系统服务的操作:

Clipboard Image.png

 4、记录按键记录,并保存到dump.log文件中:

Clipboard Image.png

 5、对注册表的操作:

Clipboard Image.png

6、获取屏幕监控截图:

Clipboard Image.png

病毒的远控地址为:116.28.191.115:947(已下线)。另外,病毒在与控制端建立连接是,并未直接连接,而是在系统本地利用netsh,创建了一个本地的端口代理:

Clipboard Image.png

 猜测创建端口代理的做法,是为了隐藏其所创建的网络连接,当用户在查看网络连接时,不会被发现该连接是由病毒自身所创建:

Clipboard Image.png

*本文作者:dsb2468,转载请注明来自FreeBuf.COM

# 远程控制 # 木马 # dll
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录