样本分析 | Windows激活工具KMSpico藏挖矿病毒

目前常用的Windows激活工具KMSpico被发现带有挖矿病毒“Trojan/Miner”, 在疑似KMSpico激活工具官网“http://kmspi.co”中下载该工具,电脑将被植入门罗矿工病毒“Trojan/Miner”,利用被入侵的电脑疯狂挖掘门罗币。(绿盟技术博客 )

KMSpico

名词

● 门罗币(Monero,代号XMR)是一个创建于2014年4月开源加密货币,它着重于隐私、分权和可扩展性。(维基百科)

● 门罗矿工病毒通常作为一个木马软件进入系统。该恶意软件隐藏在电脑中,表现为电脑CPU、内存等占用高,风扇发热,电脑开始工作得比平时慢得多,这些额外的资源使用不仅会减慢你的电脑运行速度,影响用户电脑的正常运行,导致应用程序崩溃,甚至可能会因为过热而导致硬件损坏。(绿盟技术博客 )

分析流程

看了绿盟技术博客关于这个门罗矿工病毒的通过,他们主要通过在NIDS上编写“门罗币挖矿程序网络通信”的规则。从log上来看可以获取到原IP地址、目的IP地址,下图是规则的详情。

门罗币挖矿程序网络通信 - 规则

文中也提及到该款门罗币挖矿程序,所尝试连接矿池服务器为“pool.minexmr.com”。我们也在一篇名为“门罗币CPU挖矿详细教程”的博文中看博主提及到这个矿池。

链接:http://blog.csdn.net/crackwei/article/details/78908024

矿池介绍

而从kmspi.co中下载的KMSpico激活工具则为KMSPico_10.2.2 [Daz Team].iso,解压出来为ReadMe.docx、KMSPico 10.2.2.exe两文件。

其中KMSPico 10.2.2.exe在执行的过程中在C:\Program Files\KMSPico 10.2.2 Final下释放了4个文件,其中INSTALL_KMS.bat为批处理文件。

KMSPico 10.2.2.exe 释放文件
批处理内容

网上关于门罗币挖矿的教程中显卡挖矿具体的步骤如下:
1.下载挖矿程序:建立个*.bat 文件
2.用记事本打开编辑:NsGpuCNMiner.exe -o stratum+tcp://mine.moneropool.com:3335 -u 44XiBwgWsUU5cDE3rv6ftLNHbVjSU9urhW87CojRPQ5KY4q2qXdKci3Ekmh9m1774japUDDaBTe8vXsfvPcssjy59ZihE7B -p 12345

【显卡挖矿】NsGpuCNMiner.exe -o 矿池:端口 -u 钱包地址 -p 钱包密码
【CPU挖矿】minerd -a cryptonight -o 矿池:端口 -u 钱包地址 -p 钱包密码 -t CPU线程数

钱包目录

3.打开新建的bat文件,开始挖矿


挖矿执行

根据挖矿执行流程访问矿池的特征,定位到负责链接矿池的程序为Win32.exe。KMSPico 10.2.2.exe通过执行目录下的INSTALL_KMS.bat,一方面伪装成在进行破解激活的工作,另一方面偷偷的将矿工病毒执行。


执行INSTALL_KMS.bat

INSTALL_KMS.bat批处理文件主要行为:
1.建立名为FreeAntiVirus的计划任务,通过explorer.exe访问destyy.com/qNHR3u
2.依次执行KMSpico Setup.exe、KMSpico_patch.exe、win32.exe
3.批处理文件末尾启动FreeAntiVirus

门罗矿工病毒主体:win32.exe

加密字符串
● JRSF_UP\QFv^Z@\x1B[_\
● H\@\x1BGWV^\x1AY_WRJRYDT\x1CVXU\x03\x06\x01\x01

解密算法

通过解密脚本对加密字符串能够获取到邮箱账号、矿池服务器地址。

邮箱账号:zcashminer@gmx.com
矿池服务器地址:xmr.pool.minergate.com:45560

并且程序会对解密后值二次计算,对结果判断后才决定是否执行挖矿行为。通过拼接字符串发现完整的挖矿执行命令,得知该矿工病毒模式为CPU挖矿。

CPU挖矿

因为分析设备为32位,所以矿工病毒通过判断是否为64位设备后选择路径为System32目录下的svchost.exe。

路径

随后,通过SetThreadExecutionState取消电源管理、避免电脑休眠。对字符串进行解密,将挖矿程序解密出来。

PE

创建C:\Documents and Settings\aaa\Local Settings\Application Data\kAUNCUkNWH目录,并将win32.exe也创建在其中。为了能够常驻在中毒设备中,通过Software\Microsoft\Windows\CurrentVersion\RunOnce实现开机启动。

开机自启

接下来就是循环执行的行为,主要为遍历进程,检测是否存在taskmgr.exe,假设进程列表中存在taskmgr.exe,程序会终止挖矿程序。如果不存taskmgr.exe,程序会再次启动挖矿程序。

创建挖矿程序

矿工病毒利用了HOLLOWING技术来实现创建傀儡进程,这里的傀儡进程为svchost.exe。所以我们通过一些进程查看工具进行查看的时候,不易察觉异常进程。加上矿工病毒还会检测taskmgr.exe,即便用户察觉到电脑卡顿想要打开taskmgr.exe查看CPU使用情况也不易发现矿工病毒。

将之前解密后的数据dump出来的发现它是挖矿工具为加了UPX壳的cpuminer-multi,cpuminer-multi是一个开源的挖矿工具,在GitHub上我们能够找到它的源码。

cpuminer-multi

源码地址:https://github.com/tpruvot/cpuminer-multi

最后

基于KMSpico工具制作的挖矿病毒出现,说不定别的类型的工具中也有可能嵌入挖矿病毒。

推荐阅读更多精彩内容