分析 NRSMiner 恶意软件最新样本

Track-SSG   ·   发表于 2019-01-08 11:07:37   ·   漏洞文章
译文声明

本文是翻译文章,文章原作者f-secure,文章来源:labsblog.f-secure.com                                
原文地址:https://labsblog.f-secure.com/2019/01/03/nrsminer-updates-to-newer-version/                            


译文仅供参考,具体内容表达以及含义原文为准

 

 

前言

距离在2017年5月WannaCry活动中首次发现EternalBlue(永恒之蓝)漏洞利用已经一年多了,但我们现在仍然能够看到,在亚洲这个漏洞被用来感染未修补的机器。我们的检测报告表明,从2018年11月中旬开始,NRSMiner挖矿恶意软件的最新版本正在亚洲积极传播,它利用EternalBlue漏洞在本地网络中进行传播。大多数被感染的系统都在越南。

2018年11月-12月NRSMiner检测统计

除了将挖矿程序下载到失陷计算机上外,NRSMiner还可以下载更新模块,并删除自己以前版本安装的文件和服务。

本文分析了最新版本的NRSMiner是如何感染系统并发现新目标的。关于缓解措施、IoC和SHA1请查看文末。

 

NRSMiner如何传播

最新版本的NRSMiner通过两种方法感染系统:

  • 将更新程序模块下载到已受NRSMiner旧版本感染的系统,
  • 如果系统未安装补丁(MS17-010),并且内网中的另一个系统已被NRSMiner感染。
  •  

    方法1:通过更新模块进行感染

    首先,被NRSMiner的旧版本感染(并运行wmassrv服务)的系统将连接到tecate[.]traduires[.]com,将更新程序模块作为tmp[xx].exe下载到%systemroot%temp文件夹,其中[xx]是GetTickCount() API的返回值。

    在执行该更新程序时,它将从硬编码IP地址列表中的一个下载另一个文件到同一个文件夹:

    在不同更新模块文件中找到的IP地址列表

    下载的文件(/x86或/x64)作为WUDHostUpgrade[xx].exe保存在%systemroot%temp中,同样地,其中[xx]是GetTickCount() API的返回值。

    WUDHostUpgrade[xx].exe

    WUDHostUpgrade[xx].exe首先检查mutex{502CBAF5-55E5-F190-16321A4},以确定系统是否已经感染了最新的NRSMiner版本。如果已经感染,WUDHostUpgrade[xx].exe将自行删除。否则它将删除MarsTraceDiagnostis.xml、snmpstorsrv.dll、MgmtFilterShim.ini文件。

    接下来,模块将MarsTraceDiagnostics.xml和snmpstorsrv.dll从其资源部分(BIN目录)提取到%systemroot%system32或%systemroot%sysWOW64文件夹。

    然后,它从svchost.exe复制CreationTime、LastAccessTime和LastWritetime属性的值,并用复制的值更新MarsTraceDiagnostis.xml和snmpstorsrv.dll文件对应的属性。

    最后,WUDHostUpgrade[xx].exe创建一个名为snmpstorsrv的服务,其中snmpstorsrv.dll注册为servicedll。然后它会自行删除。

    关于WUDHostUpgradexx.exe活动的伪代码

    Snmpstorsrv服务

    新创建的Snmpstorsrv服务通过“svchost.exe -k netsvcs”启动,并加载snmpstorsrv.dll文件,该文件创建多个线程来执行多个恶意活动。

    Snmpstorsrv服务的活动

    服务首先在%systemroot%system32文件夹中创建名为MgmtFilterShim.ini的文件,在其中写入“+”,并修改其CreationTime、LastAccessTime和LastWritetime属性,使其具有与svchost.exe相同的值。

    接下来,Snmpstorsrv服务从MarsTraceDiagnostis.xml中提取恶意URL和挖矿程序的配置文件。

    MarsTraceDiagnostis.xml文件中的恶意URL和挖矿程序配置详细信息

    在一个已经被NRSMiner的旧版本感染的系统上,恶意软件将删除旧版本的所有组件,然后再感染较新的版本。要删除旧版本,最新版本需要知道要删除的服务、任务和文件的列表,这些文件可以通过snmpstorsrv.dll文件中的字符串找到;要删除所有旧版本,需要使用MarsTraceDiagnostis.xml文件中的列表。

    要删除的服务、任务、文件和文件夹列表

    删除所有旧版本的组件后,Snmpstorsrv服务通过以下链接,检查挖矿模块是否更新:

  • reader[.]pamphler[.]com/resource
  • handle[.]pamphler[.]com/modules.dat
  • 如果更新后的挖矿模块可用,则下载该模块并将其写入MarsTraceDiagnostis.xml文件。下载新模块后,删除%systemroot%system32TrustedHostex.exe中的旧挖矿程序。在内存中解压新的挖矿程序,并将新提取的挖矿程序配置数据写入其中。

    然后将这个新更新的挖矿文件注入svchost.exe进行挖矿。如果注入失败,则服务将挖矿程序写入%systemroot%system32TrustedHostex.exe并执行。

    挖矿程序在内存中解压

    接下来,Snmpstorsrv服务解压wininit.exe文件并将其注入svchost.exe。如果注入失败,它会将wininit.exe写入%systemroot%AppDiagnoticswininit.exe并执行它。该服务还打开60153端口并开始侦听。

    在另外两个线程中,该服务向以下站点发送有关受感染系统的详细信息:

  • pluck[.]moisture[.]tk – mac地址,ip地址,系统名称,操作系统信息
  • jump[.]taucepan[.]com – 特定处理器和内存信息
  • 发送到远程站点的系统信息

    根据发送的信息,将下载并执行一个新的更新程序,该文件将执行上面“更新模块”一节中描述的相同活动。该更新模块可用于感染任何新版本的NRSMiner系统。

     

    方法2:通过Wininit.exe感染并利用

    在最新的NRSMiner版本中,wininit.exe负责处理其利用和传播活动。Wininit.exe将压缩后的数据解压到%systemroot%AppDiagnoticsble.xml中,并将文件解压到AppDiagnotics文件夹中。解压文件中有一个名为svchost.exe的文件,它是EternalBlue2.2.0可执行文件。然后,它删除ble.xml文件,并在AppDiagnotics文件夹中写入两个名为x86.dll和x64.dll的新文件。

    Wininit.exe扫描TCP端口445上的本地网络,搜索其他可访问的系统。然后它将执行EternalBlue可执行文件,利用发现的任何易受攻击的系统。利用漏洞攻击的信息记录在process1.txt文件中。

    如果成功利用了目标系统,wininit.exe将执行spoolsv.exe,这是DoublePulsar-1.3.1可执行文件。它将DoublePulsar后门安装到失陷系统上。根据目标的操作系统的不同,对应的x86.dll或x64.dll文件随后通过wininit.exe传输,并通过spoolsv.exe后门注入目标系统的lsass.exe。

    传播方法

    x86.dll/x64.dll

    该文件创建一个套接字连接,并从受感染的父系统中获取%systemroot%system32文件夹中的MarsTraceDiagnostis.xml文件。提取snmpstorsrv.dll,然后在新感染的系统上创建并启动Snmpstorsrv服务,从而重复整个感染周期并查找其他目标。

     

    挖矿模块

    NRSMiner使用XMRig Monero CPU挖矿程序来挖掘门罗币。它通过下面的参数之一运行:

    挖矿程序参数

    下面是参数中使用的开关:

  • -o, –url=URL 挖矿服务器URL
  • -u, –user=USERNAME 挖矿服务器用户名
  • -p, –pass=PASSWORD 挖矿服务器密码
  • -t, –threads=N 挖矿程序线程数
  • –donate-level=N 捐赠水平,默认5%
  • –nicehash 启用nicehash.com支持
  •  

     

    缓解措施

    可以采取以下措施减少EternalBlue漏洞利用,并防止扩散。

  • 对于F-Secure:
  • 确保F-Secure程序使用最新的可用数据库更新。
  • 确保在所有公司端点中打开DeepGuard,并启用F-Secure云连接。
  • 确保F-Secure防火墙在默认设置中打开。或者将防火墙配置为正确拦截445的出入流量,以防止其在本地网络中传播。
  • Windows:
  • 使用软件更新程序或任何其他可用的工具来识别端点,使用微软发布的安全补丁(4013389),并立即对其进行修补。
  • 根据微软关于WannaCrypt攻击的客户指南中的指导,为系统应用相关的修补程序。
  • 如果无法立即对其进行修补,建议禁用SMBv1,使用Knowledge Base Article 2696547中的步骤来减少攻击面。
  •  

    IoC

    Sha1s:

    32ffc268b7db4e43d661c8b8e14005b3d9abd306 - MarsTraceDiagnostics.xml
    07fab65174a54df87c4bc6090594d17be6609a5e - snmpstorsrv.dll
    abd64831ad85345962d1e0525de75a12c91c9e55 - AppDiagnostics folder (zip)
    4971e6eb72c3738e19c6491a473b6c420dde2b57 - Wininit.exe
    e43c51aea1fefb3a05e63ba6e452ef0249e71dd9 – tmpxx.exe
    327d908430f27515df96c3dcd180bda14ff47fda – tmpxx.exe
    37e51ac73b2205785c24045bc46b69f776586421 - WUDHostUpgradexx.exe
    da673eda0757650fdd6ab35dbf9789ba8128f460 - WUDHostUpgradexx.exe
    ace69a35fea67d32348fc07e491080fa635cc859 - WUDHostUpgradexx.exe
    890377356f1d41d2816372e094b4e4687659a96f - WUDHostUpgradexx.exe
    7f1f63feaf79c5f0a4caa5bbc1b9d76b8641181a - WUDHostUpgradexx.exe
    9d4d574a01aaab5688b3b9eb4f3df2bd98e9790c - WUDHostUpgradexx.exe
    9d7d20e834b2651036fb44774c5f645363d4e051 – x64.dll
    641603020238a059739ab4cd50199b76b70304e1 – x86.dll

    IP地址:

    167[.]179.79.234
    104[.]248.72.247
    172[.]105.229.220
    207[.]148.110.212
    149[.]28.133.197
    167[.]99.172.78
    181[.]215.176.23
    38[.]132.111.23
    216[.]250.99.33
    103[.]103.128.151

    URL:

    c[.]lombriz[.]tk
    state[.]codidled[.]com
    null[.]exhauest[.]com
    take[.]exhauest[.]com
    junk[.]soquare[.]com
    loop[.]sawmilliner[.]com
    fox[.]weilders[.]com
    asthma[.]weilders[.]com
    reader[.]pamphler[.]com
    jump[.]taucepan[.]com
    pluck[.]moisture[.]tk
    handle[.]pamphler[.]com
                       

    本文翻译自 labsblog.f-secure.com,原文链接


    打赏我,让我更有动力~

    0 条回复   |  直到 2019-1-8 | 1682 次浏览
    登录后才可发表内容
    返回顶部 投诉反馈

    © 2016 - 2024 掌控者 All Rights Reserved.