[ English ]
[ English ]
安天安全研究与应急处理中心(Antiy CERT)
首次发布时间:2015年8月25日
最近,安天CERT(安全研究与应急处理中心)的安全研究人员意外发现了一个用于生成宏病毒的生成器。生成器根据用户配置可以生成在微软Word和Excel执行的恶意宏文件。生成器采取.net平台编写,用大量混淆方法和加密措施来进行反逆向行为。而生成器生成的宏病毒代码同样采取了混淆函数名和加密函数参数等方式来反杀毒软件。经证明其反杀毒能力很强,几乎目前所有产品均无法检测。生成器内置加密器具备加密恶意软件、配置恶意软件自动运行、静默运行等多种功能。而后经过大量分析发现目前多数宏病毒都由生成器生成伴随邮件肆虐传播。
1983年微软office问世,随后几乎垄断了全球的文字处理软件的地位。到1991年Windows版本的VB(Visual Basic)诞生,它是由微软公司开发的面向对象的编程语言,源自于BASIC编程语言。VB在当时引起很大轰动曾一度被认为是具有划时代意义的编程语言[1]。在1993年微软推出VBA (Visual Basic for Applications)是Visual Basic的一种宏脚本语言,主要用于扩展office文档的功能,可以利用该脚本文件来方便、高效的完成office文档的功能[2]。例如,使用一段宏代码实现复杂的运算、统计等功能,宏代码可以调用Windows API来实现一些功能。例如可以创建文件、下载文件、执行文件等,该功能被恶意代码巧妙运用,将恶意宏插入office文档中,用户打开office文档并启用宏功能即可中招。最早期的宏病毒为台湾一号,当时中毒的现象是在用户电脑上显示一个运算题,如果做错将会无休止的打开文件,直到内存不足导致出错。1999年爆发的梅丽莎(Melissa),最初伪装成来自用户朋友的"重要信息"邮件。随即横向感染更多的邮件,在当时感染能力极强,导致大量电子邮件服务器瘫痪,带来的经济损失超过3亿,至今为止,梅丽莎仍然是著名的电脑病毒之一。
宏病毒是一个古老而又风靡一时的病毒,它不像普通病毒可以感染EXE文件,宏病毒可以感染office文档文件,有跨平台能力,并且感染宏病毒的文档会很危险,其破坏程度完全取决于病毒作者的想象力。宏病毒在上个世纪90年代的时候比较流行,在后来相当长一段时间内销声匿迹,慢慢淡出了"安全圈"。近两年,宏病毒再次出现,配合钓鱼邮件、社工手段等方式又有卷土重来的气势。
[1] https://zh.wikipedia.org/wiki/Visual_Basic
[2] https://zh.wikipedia.org/wiki/Visual_Basic_for_Applications
病毒名称 | Trojan/Win32.Builderexp |
MD5 |
927D0032608E3E9DF37496D9FF030B26 |
处理器架构 |
.net |
文件大小 |
4438659 字节 |
文件格式 |
BinExecute/Microsoft.EXE[:.net] |
时间戳 |
2015-07-14 21:28:28 |
数字签名 |
NO |
加壳类型 |
无 |
编译语言 |
C# |
VT首次上传时间 |
2015-07-15 03:25:14 |
VT检测结果 |
19 / 57 |
图 1 生成器界面
该生成器目前有四个版本,比较流行的是版本3和版本4。生成器的主要功能可以生成Word、Excel文档的恶意宏文件,其中每个版本还分标准版和专业版:
标准版本功能:将恶意代码链接插入到生成器中,填写存储在磁盘时的文件名,并选择生成Word或者Excel版本的宏文件,随后进行生成宏脚本、使用教程安装宏的操作,教程还包括视频版本(V4)。还有附加选项包括将恶意代码设置成开机自运行、在Word中插入文字(作为社工手段引诱用户启用宏)等。
专业版功能:通常包括内置加密器、静默模式(生成VBS脚本文件,脚本运行后会后端下载恶意文件并执行一个Word作为掩饰)。各个版本的生成器并不免费提供,而是通过不同价格出售,参考价格如下:
宏生成器主程序均采用.net平台编写而成,通过对两个版本的逆向反编译分析发现,宏生成器主程序使用大量混淆与加密方法来阻止分析人员的分析,同时也对抗杀毒软件的查杀,将加密器程序内置到资源节中进行保存。V4版本的混淆方法名与内置加密器比V3更加复杂。
主要功能图示如下:
当使用生成器将各个选项均选择时,生成如下所示的宏脚本文件,可见脚本文件为了对抗杀毒软件出现多个随机字符串:
1、首先是宏脚本的头:宏名
2、定义了两个API分别为ShellExecuteA和URLDownloadToFileA,并且函数的别名和参数均采取随机字符串表示,如bZNAbx、RBXHSXTgxLTUeBwZcIOiqg
3、随后定义函数,初始化变量,将文件名解密
4、解密下载地址后,进行下载操作
5、将文件添加注册表、将文字描述添加到Word中
6、整个脚本没出现过任何文件名、下载地址等信息,这些敏感信息均使用解密函数进行解密动态可得
加密算法如下:
例如原始链接字符串(随意填写)
加密后如下:
再使用解密函数进行解密。
最近,宏病毒十分猖獗,安天CERT捕获了大量宏病毒,经过分析推断他们其中绝大部分都是由生成器生成。而生成器的特点是,大部分源码的框架与内部加密算法一致,唯有一些配置不同,最典型的是内嵌的加密URL不同。以下分别通过两个案例分析来揭示其他生成器。
Sample1 |
BECF0D27E48BB7A160E69A177189D03E |
Sample2 |
023C6E887F49031ABB214E1986C4FD90 |
下面的Word嵌入了宏代码,由于宏代码依赖手工点击"启动宏"才可以运行,宏病毒作者在正文中利用社会工程学手法嵌入文字图片引诱用户点击执行宏。
图 2 Sample1 word内容
该宏包括3个模块,ThisDocument、Module1、Module2。宏代码结构复杂,多种加解密代码。
图 3 Sample1 模块结构
模块流程图:
图 4 Sample1 流程结构
整个宏代码设计复杂,主要由于代码本身采用混淆方式。例如以下代码
图 5 Sample1 自解密代码
代码通过数学运算获得真正代码对应的ASCII值,然后再通过Chr函数将其转化为代码,通过随机划分实际代码为多个片段然后进行重新拼接,最后得到运行代码。比如为了得到MSXML2.ServerXMLHTTP,使用运算hhr(Val(81 + 1 - (Atn(20)))) 获得了一个字符P,然后通过 "ML" & "2.S" & "erverX" & "MLH"+ & "TT" & "P"得到最终结果(其中的说明简化了某些混淆步骤)。上面代码反混淆后,伪代码如下:
图 6 Sample1 自解密后的代码
代码功能为传入URL参数,进行HHTP方式远程连接。
样本的URL地址采取拆开方式存放,并且有两个恶意地址(应为以防其一失效而不能执行):
图 7 Sample1恶意地址
Sample2和Sample1整体源码基本一致唯有下载地址不同,Sample2组合后地址如下
图 8 Sample2恶意地址
根据以上分析两个样本的拼合URL不同,我们断定两个样本是由生成器生成,且生成器提供存放恶意代码的服务器供用户将恶意代码上传。
Sample1 |
C6AD4EF26992DD6EAA01602CEDB4104D |
Sample2 |
7122C5569FE09FF19E84D36F325CAFD0 |
关于安天反病毒引擎更多信息请访问: |
|
关于安天反APT相关产品更多信息请访问: |
微信扫描关注 安天 |
|