一、 概述
近期,火绒安全团队截获蠕虫病毒"RoseKernel"。该病毒可通过远程暴力破解密码等多种手段全网传播。病毒入侵电脑后,会同时执行"挖矿"(门罗币)、破坏Windows签名校验机制、传播后门病毒等系列恶意行为。由于病毒会对同一网段的终端同时暴力破解密码,对局域网等机构用户(政府、企业、学校、医院)危害极大,截至到发稿前,已有数万台电脑被感染。
该蠕虫病毒通过移动外设(U盘等)、劫持Office快捷方式传播、远程暴力破解密码三类方式进行传播:
1、通过外设传播时,病毒会将外设内的原有文件隐藏,并创建一个与隐藏文件完全相同的快捷方式,诱导用户点击后,病毒会立即运行;
2、通过劫持Office快捷方式传播后,病毒会劫持Word和Excel快捷方式,让用户新建的文档带有病毒代码。当用户将这些文档发送给其他用户时,病毒也随之传播出去;
3、通过远程暴力破解密码传播。病毒入侵电脑后,还会对其同一个网段下的所有终端同时暴力破解密码,继续传播病毒。
由于病毒通过文档、外设等企业常用办公工具传播,加上病毒入侵电脑后会对其同一个网段下的所有终端同时暴力破解密码,因此政府、企业、学校、医院等局域网机构面临的威胁最大。
病毒入侵电脑后,会窃取数字货币钱包,还会利用本地计算资源进行"挖矿"(门罗币),并结束其它挖矿程序,以让自己独占计算机资源,使"挖矿"利益最大化。此外,病毒会破坏Windows签名校验机制,致使无效的签名验证通过,迷惑用户,提高病毒自身的隐蔽性。"RoseKernel"病毒还带有后门功能,病毒团伙可通过远程服务器随时修改恶意代码,不排除未来下发其它病毒模块到本地执行。
二、 样本分析
火绒近期截获到一组蠕虫病毒样本,该病毒通过暴力破解方式远程创建WMI脚本,病毒中含有远控功能,可以下发任意模块到本地执行,目前危害有:窃取数字货币钱包,利用本地计算资源进行挖矿(门罗币),不排除未来下发其他病毒模块到本地执行的可能性。病毒模块及功能,如下图所示:
模块介绍
在这里将该病毒分为rknrl.vbs模块和DM6331.TMP 模块来分别叙述。
rknrl.vbs模块
rknrl.vbs可以看做是一个加载器,DM6331.TMP是经过加密的VBS代码,它会读取DM6331.TMP后执行,经过解密后DM6331.TMP是病毒的主要功能模块,该模块功能会在后边详细叙述。如图所示,解密后的"aB"函数是病毒的主要解密函数,大部分被加密的字符串都会使用该函数进行解密,后文不再赘述。在这里病毒作者将加载器和被加密的病毒代码分为2个文件目的是为了躲避杀软的特征查杀。解密流程,如下图所示:
代码解密
DM6331.TMP模块
DM6331.TMP模块是该病毒的主要模块,由于功能较多,将会分成9个部分介绍:后门代码、组件升级、隐藏挖矿、盗窃数字货币钱包、签名重用攻击、结束其他挖矿程序、劫持Office组件快捷方式、U盘感染、远程暴力破解创建WMI脚本。
后门代码
首先调用"Getini"函数获取一个可用的C&C 服务器地址,该网站内包含:病毒和挖矿程序的下载地址、矿池钱包地址、还有远控C&C服务器地址。在获取网站内容后它会调用"chkorder"执行远控命令。"chkorder"函数包含下载、上传、删除任意文件,当前脚本环境中执行任意vbs代码,启动cmd并获取回显,获取进程列表信息,结束任意进程等功能。相关代码,如下图所示:
获取远控地址
远程后门指令
远控功能代码
组件升级
DM6331.TMP 模块会在WMI中注册名为"rknrlmon"的脚本,该脚本每间隔8秒会启动执行一次,用来获取C&C服务器远控指令,获取的内容经过解析后用作病毒和挖矿程序升级使用。相关代码,如下图所示:
版本升级
隐藏挖矿
"rknrlmon"脚本还会查看当前环境中是否存在任务管理器,如果存在,则结束挖矿程序,反之执行,从而可以提高病毒的隐蔽性。相关代码,如下图所示:
隐藏挖矿程序
盗窃数字货币钱包
DM6331.TMP 中的病毒代码在执行后会遍历受害者磁盘目录,用来偷取数字货币钱包,感染用户网站首页文件,但是会绕过系统目录和360目录。在遍历目录时发现文件夹下的文件名中包含"wallet"、"electrum"、".keys关键字,且文件大小小于183600个字节,则会将所对应的文件上传。如果发现文件名中包含"default.html"、"index.asp"等与网站默认页面相关的文件名时,会在页面中插入带有病毒代码的JavaScript脚本标签,经过解密后的JavaScript代码内包含一个指向病毒C&C服务器的链接,该链接目前已无法访问,被感染的网页文件内会被添加"//v|v\\"字符串,作为被感染的标记。相关代码,如下图所示:
遍历用户目录
窃取数字货币和感染网站首页
签名重用攻击
该病毒通过更改Windows 注册表方式,破坏Windows签名校验机制,从而使其无效的"Microsoft Windows"数字签名验证通过。相关代码,如下图所示:
破坏Windows签名校验机制
感染病毒前后文件数字签名信息,如下图所示:
感染前后病毒文件数字签名信息
结束其他挖矿程序
在启动挖矿程序后,还会通过WMI遍历当前进程列表,如果存在"xmrig"、"xmrig-amd"等含有矿工名称的进程时会结束对应进程。目的是为了独占计算机资源进行挖矿,扩大挖矿收益。相关代码,如下图所示:
结束其他挖矿程序
劫持Office快捷方式
DM6331.TMP 在执行后会将带有宏的Word文档(rknrl.TMP1)和Excel文档(rknrl.TMP2)拷贝到Office目录下,然后遍历桌面目录,在Word与Excel办公软件的快捷方式添加命令行参数。相关代码,如下所示:
劫持Word和Excel快捷方式
被篡改后的快捷方式参数及其解释,如下图所示:
当启动被劫持的快捷方式后,会调用带有病毒代码的文档文件,病毒代码运行后会在Temp目录下释放rknrl.vbs和DM6331.TMP并注册病毒WMI脚本。因为启动参数为基于病毒文档打开,所以当用户将新建的文档保存后,文档中也会带有病毒代码,如果用户将带有病毒代码的文档发送给其他用户,就会帮助病毒进行传播。病毒宏代码,如下图所示:
释放病毒
U盘传播
该病毒会在移动存储设备中创建与根目录中文件夹名近乎相同的病毒快捷方式(如果该文件夹名长度不等于一,那么该病毒会删除原始文件名最后一个字符,然后以这个名字创建快捷方式),同时将真实的文件夹隐藏,诱导用户点击执行病毒。相关代码,如下图所示:
U盘传播代码
被感染的U盘
WMI弱口令暴力破解
该病毒还可以通过弱口令暴力破解方式远程创建WMI脚本进行传播,传播对象不仅限于局域网还会攻击互联网上存在的任意主机。首先会获取本地IP,之后对同一网段除广播地址外所有主机进行暴力破解攻击。之后病毒还会随机生成一个IP地址,通过同样的攻击方式进行外网传播。相关代码,如下图所示:
生成随机IP地址
WMI弱口令暴力破解
三、 附录
样本SHA256
*本文作者:火绒安全,转载请注明来自FreeBuf.COM