DTLMiner再更新 排除异己并提升攻击成功率

2019-10-31   

近日,瑞星安全研究院连续三次监测到知名挖矿木马病毒“DTLMiner”进行了更新,这距离该病毒在今年10月初更新后仅仅半个月时间,同时这也是“DTLMiner”挖矿病毒在今年的第23次更新。这连续三次更新不仅增加了新的挖矿模块,还提升了攻击成功率。

近日,瑞星安全研究院连续三次监测到知名挖矿木马病毒“DTLMiner”进行了更新,这距离该病毒在今年10月初更新后仅仅半个月时间,同时这也是“DTLMiner”挖矿病毒在今年的第23次更新。这连续三次更新不仅增加了新的挖矿模块,还提升了攻击成功率。

据瑞星安全专家介绍,“DTLMiner”挖矿病毒在近期的连续更新中增加了新的模块,尝试通过服务、计划任务、进程名等方式对受害者电脑进行检测,并移除电脑内已有的其他挖矿木马和后门病毒,进而达到独占的作用,以便最大化病毒作者的利益。同时,“DTLMiner”挖矿病毒在10月初那次更新中被屏蔽的RDP爆破模块,也在此次连续更新中重新被启用,病毒作者对其连续进行了两次优化,大大提升了攻击成功率,再结合BlueKeep漏洞(CVE-2019-0708),使得该病毒危害性增强。

由于“DTLMiner”挖矿病毒更新速度极其频繁,而且病毒作者不断利用新模块新攻击手法,通过远程登录的弱口令方式和危害性极大的漏洞进行攻击,因此广大企业用户应提高警惕。目前,瑞星旗下所有产品均已具备对该病毒的防御和查杀能力,用户可升级至最新版本进行防范。

图:瑞星安全云终端成功查杀“DTLMiner”最新变种

针对该木马病毒对企业网络安全带来的潜在威胁,瑞星安全专家建议:

  1. 安装永恒之蓝漏洞补丁、“震网三代”(CVE-2017-8464)漏洞补丁以及BlueKeep(CVE-2019-0708)漏洞补丁,防止病毒通过漏洞植入;
  2. 系统和数据库不要使用弱口令账号密码;
  3. 多台机器不要使用相同密码,病毒会抓取本机密码,攻击局域网中的其它机器;
  4. 安装杀毒软件,保持防护开启。

技术分析

DTLMiner在10月23日的更新中新增的模块在脚本运行期间的运行间隔为1分钟(在10月30日的更新中缩短为10秒),主要通过以下几种方式来进行其他挖矿木马和后门的检测:

服务名称:

图:服务名称检测及处理

检测系统内是否有列表内已知的服务,其中包括一些常见的挖矿木马使用的服务名,还有国产幽灵远控(Gh0st)常使用的服务名。检测到之后会尝试禁用服务,然后将服务停止并删除。

计划任务名称:

图:计划任务名称检测及处理

检测系统内是否有列表内已知的计划任务,如果有则尝试删除。列表内包含DTLMiner部分早期版本使用的计划任务名称。

进程命令行:

图:进程命令行检测及处理

使用WMI获取到系统内所有进程的命令行,然后尝试与一些已知的矿池域名的特征字段或者是常见的挖矿程序启动时的参数进行匹配。

匹配成功后首先结束对应进程,然后判断进程路径是不是一些常见的系统进程的路径(排除进程被注入的情况),如果不是,则尝试删除文件。删除成功后还会在对应位置创建一个与原文件名同名的文件夹,并为其加上只读、隐藏和系统属性,阻止文件再生。

网络连接:

图:网络连接检测及处理

调用系统的netstat实用工具获取系统当前所有的网络连接情况。首先针对所有PowerShell进程进行处理,让它们的网络连接信息与一些常见的挖矿木马和后门使用的端口进行比对(在10月30日的更新中检测的端口数量有所减少),如果匹配则尝试结束对应进程;接着对所有网络连接信息逐个枚举并比对(比对的端口数量要比上面的PowerShell进程检查要多一些),匹配后同样尝试结束进程。

进程名称:

图:进程名称检测及处理

尝试结束与列表内名称相匹配的进程,以挖矿木马的进程为主。

在执行完“排除异己”的操作之后,如果电脑内不存在任务管理器的进程(taskmgr.exe),则会以隐藏窗口模式启动一个的任务管理器。

图:启动任务管理器

而对于DTLMiner之前使用的RDP爆破模块(10月9日的版本里被屏蔽),在10月25日的更新中再次被启用(在BlueKeep漏洞探测之后进行),但是作者对其做了一些优化。在RDP爆破成功后休眠20秒,然后找到wfreerdp程序的窗口句柄,将窗口置顶,接着再模拟键盘操作执行命令,避免因为各种原因导致RDP界面丢失焦点从而无法在被远程连接的机器内执行命令,提升了攻击成功率。

图:作者对RDP爆破模块的第一次优化

在10月30日的更新中作者对其进行了第二次优化,下载来的wfreerdp目前仅用于爆破密码,不用其进行RDP远程感染,取而代之的是系统内置的远程桌面工具。爆破密码成功后,利用系统的cmdkey工具将IP、账户和密码保存起来。然后修改远程桌面的注册表项,关闭登录时的认证警告以及结束远程桌面连接时的弹窗。紧接着启动系统内置的远程桌面工具,指定IP,设置为全屏模式。休眠40秒后利用之前的技巧将远程桌面窗口置顶,然后运行命令。命令执行完成后休眠10秒,删除保存在系统内的账户及密码信息,结束启动的远程桌面进程。

图:作者对RDP爆破模块的第二次优化

在运行命令方面作者也对其进行了一些改进,将原来的逐字发送按键指令来输入要执行的命令改为了修改剪贴板内容然后发送Ctrl+V快捷键来更高效地输入命令,提升了攻击成功率。

图:DTLMiner两个版本运行命令函数的对比(左边为10月30日新版)

图:Paste函数实际上为修改剪贴板内容

“DTLMiner”挖矿木马更新时间线

时间主要更新内容备注
2019.10.30横向传播模块更新,“排除异己”模块运行间隔缩短,移除部分检测的端口;再次优化RDP爆破功能,提升攻击成功率
2019.10.25横向传播模块更新,单次最长运行时间延长,重新启用早期的RDP爆破功能并对其进行了优化,提升攻击成功率
2019.10.23横向传播模块更新,新增“排除异己”模块,每60秒运行一次,试图清除系统内存在的其他的后门和挖矿程序,最大化作者自身的利益
2019.10.09第三阶段脚本重新回到2019.09.07的版本;横向传播模块单次最长运行时间缩短,屏蔽早期RDP爆破功能,新增CVE-2019-0708(BlueKeep)漏洞检测模块(仅检测并上报,不利用)
2019.09.07对配备AMD Radeon显卡的64位系统使用单独的脚本来处理挖矿问题,为其下载OpenCL模块及配套的挖矿模块在2019.09.10回退到2019.08.27的版本
2019.08.27为使用AMD Radeon显卡的64位系统准备了单独的挖矿模块
2019.08.26启用挖矿模块内置API,每次脚本执行时访问API获取挖矿算力信息并上报
2019.08.22脚本新增获取U盘及网络磁盘的信息并上报,同时对下载来的横向传播及挖矿模块进行MD5校验
2019.08.21横向传播模块更新:Mimikatz模块增加无文件模式加载;为RDP爆破增加限制条件,仅在机器未被感染时才尝试;作者将版本号定义为0.1
2019.08.15横向传播模块体积大幅缩小,新增利用RDP弱口令爆破传播
2019.08.09横向传播模块区分内外网,可能是为将来的内外网差异化攻击做准备
2019.07.18横向传播模块新增U盘传播(利用CVE-2017-8464漏洞)
2019.06.19作者试图通过命令行输出流重定向至文件,然后读取文件来获取挖矿算力信息并上报版本的脚本仅存活不到1个小时即被作者从服务器上替换回原来的版本,并且脚本头部没有签名,疑似测试用途
2019.06.05更换域名,攻击流程变更,第三阶段的脚本头部增加了签名信息,由第二阶段的脚本在验签通过后执行
2019.04.17横向传播模块执行方式彻底转为无文件模式
2019.04.03挖矿模块由落地文件执行改为利用PowerShell进行内存加载
2019.04.01横向传播模块执行方式新增基于PowerShell的无文件模式,与落地文件执行方式并存
2019.03.28更新横向传播模块,该模块在当前版本使用以下攻击方式:永恒之蓝漏洞攻击、SMB弱口令攻击、MSSQL弱口令攻击
2019.03.27更新挖矿模块,该模块下载显卡驱动来提升挖矿效率
2019.02.25横向传播模块新增MSSQL弱口令攻击,同时扩充弱密码字典
2019.01将横向传播模块安装为计划任务,横向传播模块新增使用Mimikatz抓取密码以及SMB弱口令攻击;新增挖矿模块
2018.12.19新增PowerShell后门
2018.12.14初始版本,供应链攻击,利用“驱动人生”升级模块投放,使用永恒之蓝漏洞传播

IOC

MD5:

676E657E578E22CB7A9138D6979C46C1
编辑:瑞瑞 阅读: