一、背景
近期接到客户反馈,其网络中的部分 windows 系统终端机器出现了异常。经过安全团队的分析,发现这是一起网络挖矿事件。
二、基本情况
通过对受害终端的检查,发现有一个名为update64.exe的进程占用了极高的CPU资源,该进程位于c:Windowsdell目录下。使用任务管理器按CPU使用率排序后,发现该进程占用99%的CPU,且运行在SYSTEM权限下。
如下图所示:
尝试通过任务管理器终止update64.exe进程后,该进程会立即重新启动,显示出极强的自我保护能力。使用命令wmic process where Name=”update64.exe” get ParentProcessId查看其父进程,发现父进程是cmd.exe,且cmd.exe也在SYSTEM权限下运行,并不断启动update64.exe。
如下图所示:
终止cmd.exe后,该进程也会重新启动,表明其具有强大的恢复机制。进一步追踪其父进程,使用命令wmic process where Name=”cmd.exe” get ParentProcessId,发现cmd.exe是由svchost.exe启动的,svchost.exe同样位于c:windowsdell目录下,运行在SYSTEM权限下,进程描述为“the Non-Sucking Service Manager”。
如下图所示:
按照svchost.exe -> cmd.exe -> update64.exe的顺序终止进程后,update64.exe不会再次启动,这表明svchost.exe负责启动并保护update64.exe。
-
运行cmd.exe,进入c:windowsdell目录,使用命令dir /a查看,发现该目录下有四个文件:run.bat、run64.bat、svchost.exe和Update64.exe。
-
获取文件HASH
使用Windows自带的命令行工具certutil.exe获取文件的SHA256 HASH。
certutil.exe的用法如下:
SHA256 HASH列表如下:
文件名 大小 文件HASH(SHA256) Run.bat 214 f86f90440a2b36c0c477a6ce6df732d274b29605388c55b952bc1028e4e0af94 Run64.bat 95 dbc8422a6e73459e777bb1989aa26c0f4416fe99e93e234a6b3c0ae9539ff603 Svchost.exe 353,792 29f0dbf2d07c4b68c3c9ee0d139d80bad3e9058fbf9dbd574cb5b047cf742e74 Update64.exe 2,594,816 c1fee6f3375b891081fa9815c620ad8c1a80e3c62dccc7f24c5afee72cf3ddcd 备注:在撰写本文时,发现当天(5月23日)FREEBUF发布了一篇文章,标题为“SURFSRC | 一个针对‘比特票’挖矿木马样本的分析”,链接为:【https://www.php.cn/link/d950e8c6b584dfac7d569aacf43519a7。
-
此外,习惯性地运行命令dir /a /od检查,在c:windows目录下发现一个名为Update.exe的文件。
文件名 大小 HASH(SHA256) Update.exe 2,854,829 aeb8ecc2ad424926af154172c6f2d2f8a98b881f59389fe75e1a2408bdcb3927 简单分析发现Update.exe是winrar创建的自解压exe文件。查看其文件属性,发现其自解压命令如下图所示。
Update.exe运行后会将文件解压到c:windowsdell目录下(覆盖模式),并静默运行c:windowsdellrun.bat批处理文件。
由此可以判断,入侵者通过某种入侵手段(未知,可能包括漏洞攻击、邮件攻击或欺骗手段,如直接发送update.exe并声称是某个压缩包文件,诱导用户双击执行解压)获取系统权限,并执行update.exe解压到c:windowsdell目录。
-
进程与网络连接
运行tasklist命令,update64.exe的进程号为364,如下图所示。
运行netstat -noa命令查看,364号进程的网络连接如下图所示。
三、样本分析
(一)run.bat
-
文件内容
-
批处理命令解析
安全日志和系统日志是常见的日志类型,而Windows PowerShell日志记录系统Powershell脚本运行的痕迹,其在事件查看器中的位置如下图所示:
-
Wevtutil.exe简介
Wevtutil.exe是系统自带的系统日志命令行管理工具,位于c:windowssystem32目录下,其命令行参数如下:
wevtutil COMMAND [ARGUMENT [ARGUMENT] …] [/OPTION:VALUE [/OPTION:VALUE] …] 命令: el enum-logs 列出日志名称。 gl get-log 获取日志配置信息。 sl set-log 修改日志配置。 ep enum-publishers 列出事件发布者。 gp get-publisher 获取发布者配置信息。 im install-manifest 从清单中安装事件发布者和日志。 um uninstall-manifest 从清单中卸载事件发布者和日志。 qe query-events 从日志或日志文件中查询事件。 gli get-log-info 获取日志状态信息。 epl export-log 导出日志。 al archive-log 存档导出的日志。 cl clear-log 清除日志。 常用选项: /{r remote}:VALUE 如果指定,则在远程计算机上运行该命令。VALUE 是远程计算机名称。/im 和 /um 选项不支持远程操作。 /{u username}:VALUE 指定一个不同的用户以登录到远程计算机。 VALUE 是 domainuser 或 user 形式的用户名。只有在指定 /r 选项时才适用。 /{p password}:VALUE 指定的用户密码。如果未指定, 或者 VALUE 为 “*”,则会提示用户输入密码。 只有在指定 /u 选项时才适用。 /{a authentication}:[Default /{uni unicode}:[true -
疑问
在实验机器上手动执行run.bat批处理文件,其运行界面如下:
(二)Run64.bat
-
文件内容
-
命令解析
从run64.bat的内容可以推测,Update64.exe是一个挖矿程序,挖掘的是XMR虚拟货币,矿池是xmr.pool.minergate.com:45560,挖矿账号是:cooldayright@outlook.com。
-
MinerGate简介
MinerGate是一个国外的知名挖矿网站,支持多种虚拟货币的挖矿、转账交易等,其网站主页为:https://www.php.cn/link/d39d59c114b33bb5e40238a65a2ec09b。
根据网站主页显示,目前支持btc、XMR、以太坊等16种主流虚拟货币,具体支持的货币如下图所示:
在网站上可以直观查看挖矿收益,且支持的系统多样,目前已支持安卓手机,适合各种人群。总而言之,MinerGate是一款非常简单的入门挖矿工具。
补充:
- 在MinerGate网站注册时必须使用真实有效的邮箱地址进行注册确认,因此,cooldayright@outlook.com是攻击者的真实有效EMAIL。
- 根据MinerGate网站提示,其用于XMR挖矿的端口已修改为45700,而本样本依然连接的是45560端口,或许攻击者会采取进一步行动。
(三)svchost.exe
查看文件属性,如下图所示:
在百度上搜索nssm.exe,结果如下:
我们发现,svchost.exe实际上是服务管理软件nssm.exe,其官网地址为:https://www.php.cn/link/8f698d6fd2865cc064cdfa8b2c5c9c3f。
根据网络查询,NSSM是一个服务封装程序,可以将普通exe程序封装成服务,使其像Windows服务一样运行。类似工具还有微软的srvany,但nssm更简单易用且功能强大。
其特点如下:
- 至此,上述疑问(.bat文件如何能注册为服务进程)终于得到了解答。NSSM确实强大,非常强大!!!
怪不得,之前终止update64.exe后,该进程会重新启动。
(四)Update64.exe
从run64.bat我们可以知道,Update64.exe实际上是一个挖矿软件。文件属性如下图所示,文件修改时间为2016年9月2日。
根据经验,很多挖矿软件都自带命令行帮助文件,于是我们直接在命令行下运行该程序,结果如下所示:
这表明该程序可能经过重新编译修改。
直接加上参数运行(调用run64.bat),发现其竟然有控制台显示(利用SYSTEM权限调用也是有原因,至少不会弹出黑屏框),其显示的界面如下图所示:
根据网络查询,发现Update64.exe就是Claymore-XMR-CPU-Miner,版本为3.5,一款利用CPU挖掘XMR币的开源软件,其gitHub地址为:https://www.php.cn/link/48016f549dbc03c0e12190363e687c27。
目前已更新到4.0版本。
Claymore支持多种虚拟货币挖矿:
由于MinerGate网站没有提供直接查询挖矿收益的功能,注册用户只能查看自身收益情况,因此无法得知攻击者cooldayright@outlook.com的收益情况。
四、总结与疑问
- 本文作者:CGF99,本文属FreeBuf原创奖励计划,未经许可禁止转载