安天针对qkG勒索软件的检测分析与防御
时间 2017年11月29日 来源: 安天
一、qkG勒索软件概述
安天在近期捕获的样本中发现了一种新型的完全使用VBA宏编写的文件加密勒索软件“qkG”。不同于其他勒索软件(如Locky),qkG家族加密文件时不会改变文件名称,亦不会修改文件结构,而仅对Microsoft Word文档内容进行加密,其勒索信息将连同加密内容一起显示在Word文档内容中。
qkG家族通过感染Microsoft Word的Normal模板进行传播,并在每个被感染的Word文档中增加名为qkG的恶意宏代码。当用户启用宏时,normal.dot模板就会被感染,当用户关闭文档时,qkG就会对将文件加密。
从目前的情况来看,虽然此款恶意勒索软件仍处于开发阶段,但是使用VBA宏编写勒索软件显然已经成为了攻击者目前正努力发展的攻击手段。技术成熟后,此类攻击可能大规模爆发,因此需提高警惕。
经验证,安天智甲终端防御系统、探海威胁检测系统等产品可通过安天自主先进的AVL SDK for Network威胁检测引擎(简称安天AVL SDK)对该病毒做出精准检测和处置。
作为网络安全产品的“发动机”,优质的威胁检测引擎可为产品注入强大的动力。安天AVL SDK不仅具有非常高的威胁检出率,并且可对威胁提供精准的命名和配套的知识体系;不仅可增强产品防御的有效性、灵活性,同时也可输出有效的安全知识和威胁情报。
针对qkG家族,安天AVL SDK可深度解析Office文件结构,细粒度地对文件进行解析还原,分离出文件中的宏病毒代码,为后续防御提供准确的检测结果。安天对该家族病毒的命名为Virus/MSWord.BluFish。

图1.1 安天AVL SDK对qkG家族的检测结果
二、样本分析
2.1 加密过程直观展示

图2.1加密后的文件

图2.2 感染后的word文档VBA工程

图2.3 感染后的模板VBA工程
2.2 加密过程分析
2.2.1 执行流程简述
1、修改Word安全属性设置,包括取消保护视图、降低宏安全级别等;
2、感染Normal模板,添加Document_Close()函数,将当前文档自身的恶意宏代码复制到新添加的Document_Close()函数中,通过Normal模板实现传播;
3、感染打开的活动文档,增加Document_Open()函数,将Normal模板中的恶意宏代码复制到新添加的Document_Open()函数中;
4、加密文档,通过简单的异或进行加密,将加密后的内容转化为16进制字符串保存至文档中,并在文档中添加勒索信息,包括赎金、支付地址、联系方式。
2.2.2 详细过程
1、修改Office Word注册表项
qkG家族在加密时首先修改Office注册表项,降低Word安全属性设置,达到禁用宏启用提示并顺利执行恶意宏代码的目的。其针对不同的Office版本修改对应的Word安全属性:对于Word 8.0至Word 11.0版本,其将安全级别修改为最低、启用对VBA对象模型的访问;对于Word 12.0至Word 16.0版本,会取消保护视图,使其信任从网络上获取的Excel宏。

图2.4 修改Office安全设置注册表
2、感染模板和正常Word文档
修改Office Word安全设置后进行宏感染操作,包括感染Normal模板和当前的活动文档,以达成感染链的不断延续。
1)通过当前文档感染Normal模板。
首先获取当前文档和Normal模板VBA工程的第一个模块对象,判断Normal模板中是否存在名称为qkG的宏代码,如果不存在则会新建名称为qkG的宏代码并添加Document_Close ()函数,然后将当前文档中的恶意宏代码复制到Normal模板的Document_Close ()函数下。
2)通过Normal模板感染当前文档。
首先获取当前文档和Normal模板VBA工程的第一个模块对象,判断当前文档中是否存在名称为qkG的宏代码,如果不存在则会新建名称为qkG的宏代码并添加Document_Open()函数,然后将Normal模板中的恶意宏代码复制到当前文档的Document_Open()函数下。

图2.5 针对文档和模板进行感染
3、文件加密
在用户关闭文档时进行加密操作,通过简单的异或进行加密,异或的密钥是硬编码在宏代码中的字符串常量"I'm QkG@PTM17! by TNA@MHT-TT2",且只对Word文档内容的奇数字符进行异或加密,偶数字符保持不变,然后将异或加密后的内容转化为16进制保存至文档中,并在文档中添加勒索信息。
首先检查加密条件是否具备,如具备则进行加密,否则不加密。加密需同时满足以下三个条件方可进行:
1)文件名不为“Document”+数字;
2)文档内容的第一行字符串不是加密密钥key;
3)是否在特定的日期(如:星期一)。
(注:最新捕获的变种增加了具有判断时间的功能)

图2.6 加密判断条件

图2.7 增加定时功能的加密判断条件
在确定具备文档加密条件后,调用EncryptDocument加密函数对文档内容进行加密操作,并将加密后的内容和勒索信息写入文件中,加密后的文件内容第一行会显示加密密钥("I'm QkG@PTM17! by TNA@MHT-TT2"),且字体加粗、字体背景色调整为蓝色;加密后的文件内容第二行和第三行为勒索信息("Send $300 to BTC Address: 14zA1NdTgtesLWZxtysLQQtsuKzjFbpydg"和"Contact Email: mht-tt2@protonmail.com"),包括勒索赎金、支付地址、联系方式,字体加粗、字体背景色调整为红色;加密后的文件内容第四行开始为原始文件内容的加密内容(如图2.1所示)。

图2.8 加密代码
在获取文档内容后,调用Crypto函数进行异或加密操作,异或加密的密钥为硬编码在代码中常量字符串"I'm QkG@PTM17! by TNA@MHT-TT2",目前发现的qkG家族只对Word文档内容的奇数字符进行异或加密,偶数字符保持不变。异或加密后的字符串会调用ToHex函数进行十六进制字符串处理,最后将处理完后的十六进制字符串写入文档中。

图2.9 硬编码的加密密钥和勒索信息

图2.10 加密主函数

图2.11 异或加密函数

图2.12 异或加密十六进制化函数
2.3 qkG家族演变
从安天捕获的qkG家族样本中可以发现,qkG在不断改进,其功能不断复杂化(如图2.13所示)。

图2.13 qkG家族功能演变
现阶段捕获的qkG家族样本更像是完全利用恶意宏代码进行勒索的概念验证恶意文件,并未大规模流传。但由于宏病毒具有易写、易改、难杀的特点,生成新变种的成本低,未来可能会改进成具有威胁性的网路攻击勒索软件,应引起注意。
另外,该样本是在越南地区被发现,并且代码中包含了一些越南语词汇,因此推断该病毒作者来自越南,“TNA-MHT-TT2”为作者的名字。
三、 防护建议
安天建议用户:
1、警惕第三方未知来源Office文件,切勿轻易打开或运行未知来源的文件;
2、为防止勒索软件造成严重损失,应及时备份重要文档或资料;
3、在终端安装可靠的安全防护产品,如内嵌安天AVL SDK的安天智甲终端防御系统。
基于安天智甲的行为分析与文档管控能力,在未升级病毒库的情况下,也能对未知勒索软件具备主动防御能力。经验证,安天智甲在qkG勒索软件家族出现前的版本即可有效拦截该病毒的攻击。

图3.1 安天智甲针对qkG家族样本进行主动防御
安天智甲终端防御系统是一款面向政府、军工、能源、金融、交通、电信等各行业用户的企业级终端安全防护产品,产品集成了病毒检测查杀、系统加固、主动防御、介质管控、文档保护、行为画像等功能,并能有效与管理中心和安天态势感知产品互动,协助客户建立更全面的资产防护体系和风险认知能力,使态势感知能够有效落地。