记一次手动处置挖矿病毒 WannaMine 变种 4.0 版

在工作中遇到的杀毒软件无法完全清理的病毒程序 WannaMine 4.0。

本文信息已脱敏,将主要以文字格式进行书写。

了解 WannaMine 4.0

WannaMine 4.0 变种信息

所谓了解你的敌人才能打败它,知彼知己者,百战不殆。
——《谋攻篇》

发作特征

WannaMine,病毒如其名,一款挖矿病毒,特征为高占用系统资源,导致系统正常运作出现异常问题等。

传染途径

当局域网内拥有一台被入侵宿主主机后,将通过微软关键漏洞 —— 永恒之蓝(MS17-010) 入侵局域网内其它主机,实现交叉感染并且再次利用漏洞模块对局域网内进行定时发起大量的 SMB 扫描(445端口)进行爆破入侵,并且横向扩散。

具体传播流程如下:
当主机存在 MS17-010 漏洞时并且防火墙开放了 445 端口(用于SMB网络共享协议,如共享文件夹。)的 Windows 系列系统。

有关 永恒之蓝(MS17-010) 具体信息可访问:Microsoft 安全公告 MS17-010 - 关键

如何判断是否存在 MS17-010 漏洞?

可以通过查看已安装补丁来确认是否存在漏洞。如何验证是否已安装 MS17-010

WannaMine 4.0 攻击流程

攻击步骤一 - 创建主服务

病毒进入主机后,将通过三串字符串进行随机拼接名称来躲避免杀。

三组字符串如下:

  1. Windows | Microsoft | Network | Remote | Function | Secure | Application
  2. Update | Time | NetBIOS | RPC | Protocol | SSDP | UPnP
  3. Service | Host | Client | Event | Manager | Helper | System

病毒会按照顺序从每个字符串组中随机抽取一个进行拼接。例如:NetworkSSDPHost,我们将此模块称为 主服务 模块。

当随机字符串生成后,将会以随机出来的名字注册服务也就是 services.msc,并且会在 C:\Windows\System32\ 路径下创建一个与服务同名的 .dll 文件。

此动态库由系统进程 svchost.exe 加载,确保每次都能开机启动,然后调用 spoolsv.exe 并同时加载 dllhostex.exe 挖矿脚本。

攻击步骤二 - 收集并攻击 MS17-010 漏洞主机

通过 spoolsv.exe 扫描 445 漏洞,确定可以攻击的主机,然后会在 C:\Windows\NetworkDistribution\ 目录下释放病毒的漏洞攻击程序,同时启动 svchost.exespoolsv.exe (均为伪装成正常文件名的病毒脚本)。

此时 svchost.exe 会对收集到可进行攻击的目标主机执行 永恒之蓝(MS17-010) 漏洞进行攻击,成功后 spoolsv.exe 会对主机安装后门,加载 payload 文件 (x86.dll / x64.dll)

攻击步骤三 - 感染主机

当 payload (x86.dll/x64.dll) 执行后,负责将 rdpkax.xsl (病毒包似乎也是随机名称与后缀,其组件包含 永恒之蓝(MS17-010) 漏洞攻击工具集) 从本地复制到目标 IP 主机,然后重复 攻击步骤一 - 创建主服务攻击步骤二 - 收集并攻击 MS17-010 漏洞主机 部分。

处置 WannaMine 4.0

操作前提示

以下操作建议在将主机彻底隔离断网的情况下进行,否则可能出现病毒复活再生。
不推荐在病毒活跃情况下使用 U盘、移动硬盘 等外置存储工具传输文件,以防再次交叉感染,可以先断网操作删除病毒后,再通过外置存储工具传输补丁文件。

使用工具

不使用工具也可以对病毒进行移除,但是使用工具可以更方便的处理一些需要手动确认的信息。

开始处置

确定并移除病毒主模块服务

快速定位病毒主服务方法 (仅适用于中文系统及服务项不多的情况)
通过 服务 services.msc 来查找到病毒主服务模块,因为使用中文系统,里的 服务名称 或 服务描述 大部分都是中文的,所以可以通过以下描述内容尝试快速筛查英文描述并定位病毒主服务名称

1
2
3
4
5
# 描述内容:
Enables a common interface and object model for the 与主服务名称一致的字符串 Helper to ....

# 例如:
Enables a common interface and object model for the NetworkSSDPHost Helper to ....

如果无法通过服务定位到可以使用下面的方法:

Process Hacker 软件定位病毒主服务方法
在 Process Hacker 软件右上角输入框中搜索 dllhostex.exe 并且切换到 Services 选项卡,如病毒正在运作,此时会显示与此进程相关联的服务。
此图仅演示
processhacker_1.png

确定好主服务名称并牢记后,将服务停止并删除服务,删除服务后再前往 C:\Windows\System32\ 目录下找到与主服务名称一致的 .dll 文件一并删除。

如果遇到主服务删除不掉问题,则需要找到 dllhostex.exe 挖矿病毒进程并结束,然后再次尝试停止并删除服务与服务对应的dll文件。

移除病毒挖矿脚本程序

进入目录 C:\Windows\System32\ 下找到 dllhostex.exe 挖矿脚本,进行删除。

移除病毒释放漏洞利用模块

进入目录 C:\Windows\ 下找到 NetworkDistribution 文件夹,进行删除。

安装补丁

通过微软官方提供的网站下载漏洞补丁包:可以通过微软官方网站下载对应系统的补丁包 Microsoft 安全公告 MS17-010 - 关键

然后进行安装即可防御 永恒之蓝(MS17-010) 漏洞的攻击入侵。

测试病毒是否复活

确定补丁安装完毕后,将主机重启并连入局域网内,等待 10-30 分钟后查看目录 C:\Windows\ 下是否存在 NetworkDistribution 文件夹。

如还存在,应该检查补丁是否安装正确,和是否遗漏删除了病毒的文件。

如不存在则代表成功防御并解决病毒,恭喜你。

大功告成。

文章参考:
深信服社区 - WannaMine4.0挖矿病毒处置
WannaMine升级到V4.0版本,警惕中招!