登录
首页 >  文章 >  软件教程

Windows挖矿恶意程序深度纪实与技术分析

时间:2025-05-09 11:43:20 384浏览 收藏

近期,客户反馈其网络中的部分Windows系统终端机器出现异常,经安全团队分析,发现是一起网络挖矿事件。受害终端上发现名为update64.exe的进程占用极高CPU资源,位于c:\windows\dell目录下,且运行在SYSTEM权限下。该进程具有自我保护和恢复机制,通过svchost.exe启动并保护。进一步分析发现,入侵者通过某种手段获取系统权限,执行update.exe解压到c:\windows\dell目录,运行挖矿程序Update64.exe,挖掘XMR虚拟货币,矿池为xmr.pool.minergate.com:45560,挖矿账号为cooldayright@outlook.com。

一、背景

近期接到客户反馈,其网络中的部分 Windows 系统终端机器出现了异常。经过安全团队的分析,发现这是一起网络挖矿事件。

二、基本情况

通过对受害终端的检查,发现有一个名为update64.exe的进程占用了极高的CPU资源,该进程位于c:\windows\dell目录下。使用任务管理器按CPU使用率排序后,发现该进程占用99%的CPU,且运行在SYSTEM权限下。

如下图所示:

挖矿恶意程序纪实分析之 Windows 篇

尝试通过任务管理器终止update64.exe进程后,该进程会立即重新启动,显示出极强的自我保护能力。使用命令wmic process where Name="update64.exe" get ParentProcessId查看其父进程,发现父进程是cmd.exe,且cmd.exe也在SYSTEM权限下运行,并不断启动update64.exe。

如下图所示:

挖矿恶意程序纪实分析之 Windows 篇

终止cmd.exe后,该进程也会重新启动,表明其具有强大的恢复机制。进一步追踪其父进程,使用命令wmic process where Name="cmd.exe" get ParentProcessId,发现cmd.exe是由svchost.exe启动的,svchost.exe同样位于c:\windows\dell目录下,运行在SYSTEM权限下,进程描述为“the Non-Sucking Service Manager”。

如下图所示:

挖矿恶意程序纪实分析之 Windows 篇

按照svchost.exe -> cmd.exe -> update64.exe的顺序终止进程后,update64.exe不会再次启动,这表明svchost.exe负责启动并保护update64.exe。

  1. 运行cmd.exe,进入c:\windows\dell目录,使用命令dir /a查看,发现该目录下有四个文件:run.bat、run64.bat、svchost.exe和Update64.exe。

  2. 获取文件HASH

    使用Windows自带的命令行工具certutil.exe获取文件的SHA256 HASH。

    certutil.exe的用法如下:

    SHA256 HASH列表如下:

    文件名大小文件HASH(SHA256)
    Run.bat214f86f90440a2b36c0c477a6ce6df732d274b29605388c55b952bc1028e4e0af94
    Run64.bat95dbc8422a6e73459e777bb1989aa26c0f4416fe99e93e234a6b3c0ae9539ff603
    Svchost.exe353,79229f0dbf2d07c4b68c3c9ee0d139d80bad3e9058fbf9dbd574cb5b047cf742e74
    Update64.exe2,594,816c1fee6f3375b891081fa9815c620ad8c1a80e3c62dccc7f24c5afee72cf3ddcd

    备注:在撰写本文时,发现当天(5月23日)FREEBUF发布了一篇文章,标题为“SURFSRC | 一个针对‘比特票’挖矿木马样本的分析”,链接为:【http://www.freebuf.com/articles/system/172579.html】。其中分析的样本与本文分析的样本基本类似,尤其是Svchost.exe的HASH值相同。尽管如此,本文仍有其独特的技术细节,可以与该文互相补充

  3. 此外,习惯性地运行命令dir /a /od检查,在c:\windows\目录下发现一个名为Update.exe的文件。

    文件名大小HASH(SHA256)
    Update.exe2,854,829aeb8ecc2ad424926af154172c6f2d2f8a98b881f59389fe75e1a2408bdcb3927

    简单分析发现Update.exe是WinRAR创建的自解压exe文件。查看其文件属性,发现其自解压命令如下图所示。

    挖矿恶意程序纪实分析之 Windows 篇

    Update.exe运行后会将文件解压到c:\windows\dell目录下(覆盖模式),并静默运行c:\windows\dell\run.bat批处理文件。

    由此可以判断,入侵者通过某种入侵手段(未知,可能包括漏洞攻击、邮件攻击或欺骗手段,如直接发送update.exe并声称是某个压缩包文件,诱导用户双击执行解压)获取系统权限,并执行update.exe解压到c:\windows\dell目录。

  4. 进程与网络连接

    运行tasklist命令,update64.exe的进程号为364,如下图所示。

    挖矿恶意程序纪实分析之 Windows 篇

    运行netstat -noa命令查看,364号进程的网络连接如下图所示。

    挖矿恶意程序纪实分析之 Windows 篇

三、样本分析

(一)run.bat

  1. 文件内容

    挖矿恶意程序纪实分析之 Windows 篇

  2. 批处理命令解析

    安全日志和系统日志是常见的日志类型,而Windows PowerShell日志记录系统PowerShell脚本运行的痕迹,其在事件查看器中的位置如下图所示:

    挖矿恶意程序纪实分析之 Windows 篇

  3. Wevtutil.exe简介

    Wevtutil.exe是系统自带的系统日志命令行管理工具,位于c:\windows\system32\目录下,其命令行参数如下:

    wevtutil COMMAND [ARGUMENT [ARGUMENT] …] [/OPTION:VALUE [/OPTION:VALUE] …]命令:
    elenum-logs 列出日志名称。
    glget-log 获取日志配置信息。
    slset-log 修改日志配置。
    epenum-publishers 列出事件发布者。
    gpget-publisher 获取发布者配置信息。
    iminstall-manifest 从清单中安装事件发布者和日志。
    umuninstall-manifest 从清单中卸载事件发布者和日志。
    qequery-events 从日志或日志文件中查询事件。
    gliget-log-info 获取日志状态信息。
    eplexport-log 导出日志。
    alarchive-log 存档导出的日志。
    clclear-log 清除日志。
    常用选项:
    /{rremote}:VALUE 如果指定,则在远程计算机上运行该命令。VALUE 是远程计算机名称。/im 和 /um 选项不支持远程操作。
    /{uusername}:VALUE 指定一个不同的用户以登录到远程计算机。 VALUE 是 domain\user 或 user 形式的用户名。只有在指定 /r 选项时才适用。
    /{ppassword}:VALUE 指定的用户密码。如果未指定, 或者 VALUE 为 “*”,则会提示用户输入密码。 只有在指定 /u 选项时才适用。
    /{aauthentication}:[Default
    /{uniunicode}:[true
  4. 疑问

    在实验机器上手动执行run.bat批处理文件,其运行界面如下:

    挖矿恶意程序纪实分析之 Windows 篇

(二)Run64.bat

  1. 文件内容

    挖矿恶意程序纪实分析之 Windows 篇

  2. 命令解析

    从run64.bat的内容可以推测,Update64.exe是一个挖矿程序,挖掘的是XMR虚拟货币,矿池是xmr.pool.minergate.com:45560,挖矿账号是:cooldayright@outlook.com。

  3. MinerGate简介

    MinerGate是一个国外的知名挖矿网站,支持多种虚拟货币的挖矿、转账交易等,其网站主页为:https://minergate.com/

    根据网站主页显示,目前支持BTC、XMR、以太坊等16种主流虚拟货币,具体支持的货币如下图所示:

    挖矿恶意程序纪实分析之 Windows 篇

    在网站上可以直观查看挖矿收益,且支持的系统多样,目前已支持安卓手机,适合各种人群。总而言之,MinerGate是一款非常简单的入门挖矿工具。

    补充:

    • 在MinerGate网站注册时必须使用真实有效的邮箱地址进行注册确认,因此,cooldayright@outlook.com是攻击者的真实有效EMAIL。
    • 根据MinerGate网站提示,其用于XMR挖矿的端口已修改为45700,而本样本依然连接的是45560端口,或许攻击者会采取进一步行动。

    挖矿恶意程序纪实分析之 Windows 篇

(三)svchost.exe

查看文件属性,如下图所示:

挖矿恶意程序纪实分析之 Windows 篇

在百度上搜索nssm.exe,结果如下:

挖矿恶意程序纪实分析之 Windows 篇

我们发现,svchost.exe实际上是服务管理软件nssm.exe,其官网地址为:http://nssm.cc/,GitHub地址为:https://github.com/kirillkovalenko/nssm

根据网络查询,NSSM是一个服务封装程序,可以将普通exe程序封装成服务,使其像Windows服务一样运行。类似工具还有微软的srvany,但nssm更简单易用且功能强大。

其特点如下:

  • 至此,上述疑问(.bat文件如何能注册为服务进程)终于得到了解答。NSSM确实强大,非常强大!!!

怪不得,之前终止update64.exe后,该进程会重新启动。

(四)Update64.exe

从run64.bat我们可以知道,Update64.exe实际上是一个挖矿软件。文件属性如下图所示,文件修改时间为2016年9月2日。

挖矿恶意程序纪实分析之 Windows 篇

根据经验,很多挖矿软件都自带命令行帮助文件,于是我们直接在命令行下运行该程序,结果如下所示:

挖矿恶意程序纪实分析之 Windows 篇

这表明该程序可能经过重新编译修改。

直接加上参数运行(调用run64.bat),发现其竟然有控制台显示(利用SYSTEM权限调用也是有原因,至少不会弹出黑屏框),其显示的界面如下图所示:

挖矿恶意程序纪实分析之 Windows 篇

根据网络查询,发现Update64.exe就是Claymore-XMR-CPU-Miner,版本为3.5,一款利用CPU挖掘XMR币的开源软件,其GitHub地址为:https://github.com/nanopool/Claymore-XMR-CPU-Miner/releases

目前已更新到4.0版本。

Claymore支持多种虚拟货币挖矿:

挖矿恶意程序纪实分析之 Windows 篇

由于MinerGate网站没有提供直接查询挖矿收益的功能,注册用户只能查看自身收益情况,因此无法得知攻击者cooldayright@outlook.com的收益情况。

四、总结与疑问

  • 本文作者:CGF99,本文属FreeBuf原创奖励计划,未经许可禁止转载

文中关于System权限,update64.exe,网络挖矿,XMR虚拟货币,svchost.exe的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Windows挖矿恶意程序深度纪实与技术分析》文章吧,也可关注golang学习网公众号了解相关技术文章。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>