事件背景
近日在一起应急响应事件中发现了一条恶意的WMI命令,经过研究人员分析是一个新的挖矿病毒,由于此病毒释放的组件中启动程序名为Audliodg.exe,故将其命名为Audliodg挖矿病毒。
该挖矿病毒使用的主要域名为g-s.site,根据威胁情报信息,该域名的更新时间为今年的7月份,且Audliodg挖矿病毒的各个组件仍然可以被下载启动,由此可见该挖矿病毒目前仍在持续活跃中。
样本分析
执行流程:
1.wmi命令
研究人员通过观察sysmonitor的日志,注意到了此恶意的WMI命令:
可以发现此WMI命令会向恶意域名g-s.io发送GET请求,并将请求响应的文本通过一段简单解码算法进行处理成为一个恶意的vbs脚本并保存到本地,然后通过wscript命令将此vbs脚本执行。
2.vbs脚本
首先此vbs脚本会获取windows的temp目录路径,然后将g-s.site/d/d.dat下载到temp目录并命名为xw.tmp,利用sh.run指令来让cmd执行一小段解码操作后将xw.tmp运行起来,然后删除xw.tmp。
*xw.tmp是一段经过VBScript.Encode编码的文本,解码以后得到原本的恶意vbs脚本。
vbs脚本的内容如下:
此恶意vbs脚本的主要功能为挖矿程序的安装运行检查环境以及下载执行挖矿程序的安装包。
首先其通过注册表获取挖矿机器的系统语言、系统版本以及CPU核心数量:
然后获取到windows目录并尝试ping通恶意域名g-s.site/d:
检查挖矿病毒的布置环境,利用WMI命令进行检查,机器上是否有一系列杀软的存在,同时此脚本似乎还会帮受害机器检查是否有其他挖矿病毒,并对它们进行终止进程并删除其挖矿病毒文件,同时还会检查自身病毒是否存在,以及存在的话是否需要更新:
其中检查其他的挖矿病毒命令行特征以及后面下载挖矿安装包的函数都大量地包含了一个简单解密过程。使用python还原解密过程,并选择几个命令来解密分析:
前两个命令用于启动http服务下载病毒文件,后三个命令是其他挖矿病毒的命令行特征。
最后,vbs脚本要做的就是将挖矿病毒g.rar启动起来了:首先此挖矿病毒会先检查操作系统的版本,似乎病毒作者为windows server 2003 5.2.3790准备了专用的挖矿病毒g03.rar。通过检查机器架构,确保为x86或x64后,使用stream对象下载g.rar并以g.exe的形式保存到windows目录后将其执行起来:
3.g.rar压缩包
g.rar是一个包含自解压命令的压缩包,其相当于rar提供的安装包安装功能。可以被执行,执行后完成自解压并向C:\windows\temp\目录下释放四个文件,文件如下:
自解压命令如下:
Setup参数代表的路径文件在安装完成后会被尝试着执行,Cl.bat的内容如下,将会删除挖矿病毒的安装包程序:
另外audliodg.exe为挖矿启动进程,其命名含义也是伪装成为系统进程audliodg.exe。它会为那两个挖矿程序尽可能地提供一个相对安全的工作环境。剩下两个文件分别为audliodg.exe将要启动的挖矿程序,分别为32位和64位的版本。
详见分析:
启动进程首先根据检测出来的入侵终端位数来将32位或64位版本的挖矿程序拷贝到temp目录下伪装成chromes.exe,然后搜索audiodg.exe进程,终止下方四个进程。
接下来其会创建两个线程,这两个线程会尽可能地保证挖矿进程能够稳定地运行下来,且进行挖矿的时候CPU资源足够丰富:
第一个线程会每隔1.5秒检查一次任务管理器的存在,如果存在,且挖矿进程正在运行的时候,其会终止挖矿进程,目的是防止被运维人员利用任务管理器察觉到进程存在。
第二个线程会每隔30分钟执行一次,其目的似乎在于统计进程列表中非挖矿进程的单CPU消耗时长,如果达到某一条件就试图终止这个进程:
主线程在创建完这两个线程之后,会为挖矿进程设置矿池地址以及挖矿受益者用户等参数:
4.tmp挖矿程序
g.rar安装包释放的两个后缀为tmp的文件事实上为一款开源的挖矿工具xmrig的32位与64位版本:
有意思的是研究人员根据威胁情报查到截至发稿,该挖矿病毒仍未获取任何收益:
加固建议
1. 加强终端安全意识,不随意下载执行来源不明的文件。
2. 尽量关闭不必要的文件共享权限。
3. 更改账户密码,设置强密码,避免使用统一的密码,因为统一的密码会导致一台被攻破,多台遭殃。
4. 安装反病毒软件定期进行终端检测。