近日,阿里云安全发现一种新型挖矿蠕虫RDPMiner,通过爆破Windows Server 3389端口RDP服务的方式进行挖矿木马传播,致使用户CPU占用率暴涨,机器卡顿,更被创建名为DefaultAccount的账号。攻击者可畅通无阻远程登录机器威胁用户业务和数据安全。

据该蠕虫连接的某矿池公布的HashRate,预估仅该矿池即有2000+机器连接进行挖矿,阿里云安全专家判断该挖矿蠕虫扩散性还在持续且活跃度高,且用户管理账号弱密码设置更给攻击者创造了有利的条件。

本文以RDPMiner整体攻击流程为主线,通过对入侵、获利、对抗与维持等进行详细分析,还原RDPMiner整个过程。并在文末给出专家建议,同时也提醒用户加强密码设置。

背景

在接到用户反馈Windows Server服务器CPU占用率暴涨,并被创建DefaultAccount的账号后,阿里云云防火墙同步监控到这些机器向外发出大量RDP请求。阿里云安全研究人员进行分析后,发现用户主机上运行着挖矿程序,导致CPU占用率居高不下。

进一步分析,攻击者利用该蠕虫程序暴力破解RDP服务、创建用户名为DefaultAccount的账号、修改注册表、开启挖矿程序。 接着再通过这台被入侵的机器对互联网其他主机进行爆破,进而达到入侵、获利、持久化等功能。

且挖矿蠕虫的攻击者具有较强的对抗意识,大部分二进制程序都被制作成了SFXRAR自解压缩程序(Self Extracting Archives)进行密码加密,并在执行完功能后,统一由脚本进行清理。阿里云安全监测到该蠕虫最早出现于2017年11月,持续时间长达1年多。

此次RDPMiner事件中,攻击ip来源地伊朗、美国、中国基本持平。由于中国的入侵ip很大部分是由于主机被入侵之后变成继续攻击的肉鸡,故最初发起攻击的ip以伊朗和美国居多。

RDPMiner蠕虫攻击及传播流程解析

恶意程序示意图

如下图所示:攻击者在成功控制一台机器后,为进行下一轮的RDP爆破攻击,首先会在该机器的c:usersadministratordesktop目录下,植入并运行名为sector-v1.exe的多功能恶意程序工具包。工具包中的程序都进行了sfxrar加密,需要输入密码才能正常运行。

恶意工具包运行界面

根据进程启动记录,攻击者使用了工具包中的c-f 4 reza,从http://111.63.225.242:8082//c-f4r.exe下载了并运行了c-f4r.exe,释放出d-f.exe、m-r.exe、res.exe和A-C-M.exe等多个可执行恶意程序。这里的下载源服务器111.63.225.242与诸多入侵事件相关,根据abuseipdb网站的ip滥用记录,111.63.225.242曾多次被用户举报涉及攻击行为,值得关注。

而多个恶意程序中的A-C-M.exe在运行之后,又将进一步释放svchost.exe、ds.exe、nl.exe、user.txt、pass.txt、backdoor-reg-nl-restart.bat等恶意程序、恶意脚本和配置文件。

其中,svchost.exe执行时,一方面释放及启动挖矿程序serverGui.exe,另一方面执行下图脚本中所示命令添加前文用户反馈的DefaultAccount恶意账号,并通过操作注册表将自身添加到Windows系统启动项中,达到持久化攻击的目的。

svchost.exe文件生成示意图

而nl.exe原名为NLBrute.exe,是一款最早由俄罗斯人开发的Windows系统3389爆破软件。攻击者使用它来达到传播蠕虫,进一步扩大攻击范围的目的。

RDPMiner活动时间线

如上图所示,从2017年11月开始攻击者便开始采用各种工具进行爆破、挖矿攻击,使用过的扫描工具除了nl.exe(NLBrute)之外,还有kportscan3.exe等。同样地,为了逃避云上恶意程序的查杀,攻击者用来挖矿的工具也经历了至少两轮迭代。

挖矿工具名称变化时间线

尽管攻击者使用的挖矿工具名称、哈希值不断变化,但本质上都是开源挖矿软件xmrig经过修改而成,因此使用方式与xmrig十分相似。

RDPMiner各模块功能

入侵:RDP暴力破解

通过A-C-M.exe释放出如下文件,程序启动后会调用nl.exe,该程序更为广泛使用的名称是NLBrute,专门用于对3389端口进行爆破。

A-C-M.exe运行释放文件

如图所示,程序启动后会加载文件Part1到Part17所存储的IP地址,去重后共计427975个,去重后为427934个IP,nl.exe会加载这些IP地址而后持续对外爆破半个小时,结束后调用backdoor-reg-nl-restart对程序和IP地址簿进行删除,在主机上不留下任何痕迹,由于该类动作,使得该类样本难以发现。

获利:挖矿

攻击者通过A-C-M.exe释放svchost.exe(路径为:C:/Windows/debug/svchost.exe),而后svchost.exe释放ServerGUi.exe(路径为:C:/Users/Administrator/AppData/Local/Temp/2/ServerGUi.exe)进行挖矿,该程序基于xmrig修改,挖矿支持指令如下所示:

当前攻击者钱包地址在某挖矿平台上的日平均Hash Rate约25KH/s,目前全网数千台机器正在连接该矿池,这个挖矿速率意味着攻击者本次挖矿每日收益仅为约8.73美元,侧面说明在如今币价狂跌的背景下,入侵挖矿的收益不再像过去那样诱人。攻击者仍然乐此不疲,对用户而言伤害不减。 

攻击者钱包地址在supportxmr.com矿池的记录

对抗与维持:创建RDP账号、注册表操作与痕迹清理

为了对抗安全人员的分析,攻击者对全部文件进行了SFX加密并且都设置了密码,通过运行时自解压将文件释放出并运行相关的脚本文件,如图所示是A-C-M.exe文件中的SFX脚本命令,当程序解密后会运行nl.exe文件和执行backdoor-reg-nl-restart脚本。

;The comment below contains SFX script commands

Path=C:UsersAdministratorDesktop 
Setup=nl.exe 
Setup=backdoor-reg-nl-restart 
Overwrite=1 
Silent=1

前文提到,攻击者运行nl.exe,通过RDP服务爆破入侵之后,会通过Opppps.bat脚本添加DefaultAccount账号。而为了避免账号被用户发现并删除,svchost.exe还会运行“cmd /c REG add HKLMSoftwareMicrosoftWindowsCurrentVersionRun /v”将自身运行加到自启动项里。

此外为避免程序运行时Windows UAC弹框引起用户察觉,该恶意程序还包含了如下图所示的注册表命令,设置"EnableLUA"注册表项以及关闭Windows自带的防火墙。

而当执行完对外扫描任务、注册表修改等任务后,会执行backdoor-reg-nl-restart脚本,结束相关进程和清理程序释放的文件。由于对外3389端口扫描设定了时间1800秒(半小时)或3600秒(一小时),所以该类样本较难进行捕获。如图所示,是backdoor-reg-nl-restart脚本。

start taskmgr 
net user administrator /active:no 
... 
timeout 1800 
DEL /F /Q "C:Windowsdebuguser.reg" 
DEL /F /Q "C:Windowsdebugta.reg" 
DEL /F /Q "C:WindowsdebugDwd.reg" 
taskkill /im nl.exe /f 
taskkill /im nl.exe /f 
taskkill /im nl.exe /f 
DEL /F /Q "C:Users%username%Desktopnl.exe" 
DEL /F /Q "C:Users%username%Desktopnl.exe" 
DEL /F /Q "C:Users%username%Desktopnl.exe" 
DEL /F /Q "C:Users%username%Desktoppass.txt" 
DEL /F /Q "C:Users%username%Desktopuser.txt" 
DEL /F /Q "C:Users%username%Desktopsettings.ini" 
taskkill /im A-C-M.exe /f 
DEL /F /Q "C:Users%username%DesktopA-C-M.exe" 
DEL /F /Q "C:Users%username%Desktoppart1.txt" 
DEL /F /Q "C:Users%username%Desktoppart2.txt" 
... 
DEL /F /Q "C:Users%username%Desktoppart17.txt" 
echo HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options [1]>>temp.ini 
regini temp.ini 
del temp.ini 
net user administrator /active:yes 
DEL "%~f0"

安全建议

针对此次RDPMiner攻击,阿里云安全向用户提供两点安全建议:

  1. RDP弱密码导致的3389暴力破解仍然是Windows Server服务器的用户需要重点关注的风险,应尽量避免使用弱密码,此外可以选择购买阿里云的云防火墙实现主机暴力破解的防御和安全隔离。
  2. 对于已感染的客户,建议尽快购买阿里云安全管家服务,在安全专家的指导下进行病毒清理和安全加固。

**附录

IOCs**

钱包地址

493NdGNLF2C5EgQ11rYUA5gWqCLKrjY8w6Wrfev2cCXzW7UwepJ4yUv16A2zQfyWsWRk4wnGwpsUd7hLGr5TQFxYDnYK6Ta

**矿池地址:
**
pool.supportxmr.com:3333

minexmr.com

xmr-asia1.nanopool.org:14444

159.69.206.220:3333

恶意程序DNS请求:

min.microsoftupdcenter.info

原文链接
更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight

威胁预警|首现新型RDPMiner挖矿蠕虫 受害主机易被添加恶意账户的更多相关文章

  1. 威胁快报|首爆新型ibus蠕虫,利用热门漏洞疯狂挖矿牟利

    一.背景 近日阿里云安全团队发现了一起利用多个流行漏洞传播的蠕虫事件.黑客首先利用ThinkPHP远程命令执行等多个热门漏洞控制大量主机,并将其中一台“肉鸡”作为蠕虫脚本的下载源.其余受控主机下载并运 ...

  2. 威胁快报|Bulehero挖矿蠕虫升级,PhpStudy后门漏洞加入武器库

    概述 近日,阿里云安全团队监控到Bulehero挖矿蠕虫进行了版本升级,蠕虫升级后开始利用最新出现的PHPStudy后门漏洞作为新的攻击方式对Windows主机进行攻击,攻击成功后会下载门罗币挖矿程序 ...

  3. 威胁快报|ProtonMiner挖矿蠕虫扩大攻击面,加速传播

    背景 近日,阿里云安全监测到一种挖矿蠕虫,正在互联网上加速传播.阿里云安全根据它使用ProtonMail邮箱地址作为矿池用户名的行为,将其命名为ProtonMiner.据分析,这种蠕虫与TrendMi ...

  4. 威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”

    简介 阿里云安全于近日捕获到一起使用Jenkins RCE漏洞进行攻击的挖矿事件.除挖矿外,攻击者还曾植入具有C&C功能的tsunami木马,也预留了反弹shell的功能,给用户带来极大安全隐 ...

  5. 威胁预警|Solr velocity模板注入远程命令执行已加入watchbog武器库,漏洞修补时间窗口越来越短

    概述 近日,阿里云安全团队监测到挖矿团伙watchbog更新了其使用的武器库,增加了最新Solr Velocity 模板注入远程命令执行漏洞的攻击方式,攻击成功后会下载门罗币挖矿程序进行牟利.建议用户 ...

  6. ProtonMiner挖矿蠕虫

    特征 ProtonMail邮箱地址 利用漏洞 服务 漏洞 Hadoop 未授权访问 Drupal CVE-2018-7600 Redis 未授权访问 Spring Data Commons CVE-2 ...

  7. JbossMiner 挖矿蠕虫分析 (转载)

    前言 从2013年的诞生,到2016爆发,挖矿(MiningCryptocurrency) 的高回报率,使其成为了一把双刃剑.据外媒去年的统计,比特币的算力(Hash Rate)已在半年内翻了一翻. ...

  8. [转帖]Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染

    Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染 https://www.kubernetes.org.cn/5951.html 本来想说可以用 official版本的镜像 但是一 ...

  9. 高危预警|RDP漏洞或引发大规模蠕虫爆发,用户可用阿里云免费检测服务自检,建议尽快修复

    2019年9月6日,阿里云应急响应中心监测到Metasploit-framework官方在GitHub空间公开了针对Windows远程桌面服务远程命令执行漏洞(CVE-2019-0708)的利用代码. ...

随机推荐

  1. Rabbit MQ 客户端 API 进阶

    之前说了一些基础的概念及使用方法,比如创建交换器.队列和绑定关系等.现在我们再来补充一下细节性的东西. 备份交换器 通过声明交换器的时候添加 alternate-exchange 参数来实现. Con ...

  2. mysql的JDBC连接

    程序是通过DriverManager注册驱动,所以加载之后可以直接使用DriverMannagermysql中的多态: 不仅是赋值的时候使用了多态,返回的时候都是返回的借口(不是返回的子类对象),所以 ...

  3. 更改idea启动内存信息

    1.到idea的安装目录的bin下,找idea64.exe.vmoptions 文件 2.更改参数 对应的参数解释: -Xms1024m    设置IDEA初时的内存大小,提高Java程序的启动速度. ...

  4. 在linux 或docker中使用 system.drawing.common

    在dockerfile 中添加 FROM microsoft/dotnet:2.1-aspnetcore-runtime RUN apt-get update RUN apt-get install ...

  5. Linux系统搭建Red5服务器

    Linux系统搭建Red5服务器 Red5 是 支持Windows,Linux等多平台的RTMP流媒体服务器,Windows下搭建相对容易,图形界面操作比较简单,Linux服务器的环境下没有图形界面, ...

  6. sparkStreaming的transformation和action详解

    根据Spark官方文档中的描述,在Spark Streaming应用中,一个DStream对象可以调用多种操作,主要分为以下几类 Transformations Window Operations J ...

  7. Java oop第05章_多态、接口

    一. 为什么需要接口? Java中当一个类继承父类时,最多也只能继承一个父类,扩展性会受到一定的限制,为了弥补这一缺陷,Java又提供了一种新的引用数据类型分类,叫接口. 一个类只能继承一个父类,但可 ...

  8. 什么是Java中的自动拆装箱

    1.基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值 ...

  9. vim 底行模式 操作命令

    1. 当前设置行号: set nonu    取消行号显示:                    2.   :set number 显示行号     (下次使用就没有了,要设置脚本 vim ~/ . ...

  10. Android开发 navigation的跳转动画实现

    前言 此篇博客只简短的介绍navigation如何添加跳转页面的动画属性,如果你还为接触了解过navigation.建议你看我另一篇博客Android开发 navigation入门详解 创建动画xml ...