最新消息:

VirLock敲诈者新变种分析及解密方法

安全动态 Eternal 1394浏览 0评论

前言


2016年6月开始,360安全中心发现VirLock的新变种的查杀量呈现上升趋势,通过分析,发现其新变种采用了多种手段来对抗杀软。

虽然宣称数据被加密,但原始数据随着病毒体的运行可以被释放,因此断定被加密的文件是可以恢复的,360安全中心第一时间对样本进行了分析,并针对此变种开发了恢复工具,是国内唯一可以解密VirLock新变种的厂商。

有关VirLock的基本行为,在2015年1月的播报中已经有所阐述( http://bobao.360.cn/learning/detail/227.html ),本次播报将就亮点部分进行分析。

基本信息


MD5:D832508B53BB3B55C2288F23B4FB6C2C

大小:850944字节

 

http://p2.qhimg.com/t0139a075e77b2234fa.png

行为简述

1.在%UserProfile%%AllUsersProfile%释放文件,文件名为随机生成,使用CreateProcessW创建进程。

http://p8.qhimg.com/t011cc1d93c65886d08.png

2.第一个被启动的进程会再次生成一个随机文件名的文件,这三个文件互为守护进程,当其中任何一个被杀死之后,都会被其他“兄弟”创建,病毒以此手段避免进程被杀死。

http://p5.qhimg.com/t0100ea8db65f1ce5f1.png

3.设置注册表,使隐藏文件,文件扩展名不可见。

http://p5.qhimg.com/t01cb3edbe0079f34e3.png

4.加密文件,被加密的文件变为EXE,图标和加密前一致。

5.感染文件类型,包括但不限于:

文档:DOC、XLS、PDF、PPT等;

图片:PNG、GIF、BMP、JPG等;

压缩文件:RAR、ZIP、7z等;

可执行文件:EXE、SCR等。

6.弹出勒索提示,需要支付价值约$250的比特币作为赎金。

病毒发作之后截图


http://p0.qhimg.com/t0103ecb39397c10d4d.png

图:告警信息,提示用户使用了盗版软件,需要支付罚金。恫吓用户,若不支付赎金,可能会被判处5年徒刑。

http://p9.qhimg.com/t01e9b66dc71d6ff9f4.png

图:向用户介绍支付流程。

http://p6.qhimg.com/t012d4e5e20db7a69b6.png

图:附近ATM的位置

相对上一版本的亮点


亮点之一,代码执行

新变种相对老变种相比,变化最大的就在于代码执行方式。

病毒体在解密之后,执行方式就不是顺序执行,而是采取一种特殊的方式来执行,以此来对抗杀毒虚拟机,增加分析难度。

流程大致如下:

(A)新申请一块新的内存区域,作为STUB,以供病毒体执行;

(B)将公共代码放入STUB中,公共代码中间以NOP填充;

(C)解密另一区域的数据,按照格式,将代码复制到公共代码的NOP位置;

(D)执行STUB,清空STUB;

(E)循环执行(B)。

其中STUB的代码如下:

结构如下,STUB主要由三部分组成:

http://p8.qhimg.com/t01e47ede2eb2073d9a.png 保存环境;

设置新的ESP与EBP值;

执行代码;
恢复ESP与EBP的值;

恢复环境;

这样一来,每执行一条“核心指令”,就要多执行上百条负责解密,循环控制的指令。

增加了病毒体积,与执行步数,也给调试带来一些不便。

填充的指令由指令表与跳转表组成。

指令表:

通过XOR算法,可解密出指令表:

http://p7.qhimg.com/t015b0c85190e19c718.png

解密之后的数据如下(蓝色数据部分):

http://p8.qhimg.com/t0194bec0c82285e45a.png

整理之后可以看出,数据由数据前缀与指令组成:

指令前缀由两部分组成:代码标志与代码长度,代码标志为00表示普通指令。

http://p2.qhimg.com/t01c1e8a922add14e31.jpg

代码的执行按照此顺序执行,包括条件跳转;顺序表:

解密方式也是XOR:

http://p3.qhimg.com/t0115a3f038d9cb2efb.png

部分数据如下:

http://p8.qhimg.com/t017f01362143224ecc.png

0000 0100 0200 0300 0400 0500 0600 0700 0800

D500 0900 0A00 D600 0B00 D500 0900 0A00 D700

0C00 0D00 0E00 0F00 1000 1100 1200 D500 0900

0A00 D800 1300 D500 0900 0A00 D900 1400 D500

其中D5到E9解密后如下,标志位为(01,表示跳转),跳转条件均为JNZ,后面的数值表示跳转相对偏移:

http://p6.qhimg.com/t01b559ddf2266b4fc7.jpg

亮点之二,数据解密

随着程序的执行,病毒会主动将文件解密后落地,因此被VirLock加密的数据,在逆向其基本算法后,是可以恢复数据的。

数据解密主要分为三个部分:

第一部分解密:

第一部分的解密方式为XOR,位置为ESI,密钥为EDX,长度为ECX:

http://p0.qhimg.com/t019a2dc44cccdb66a8.png

第二部分解密:

这部分解密的位置信息,位于代码表中:

http://p4.qhimg.com/t01737750e64f32f8cb.jpg

解密方式:XOR,ROR

在执行完第二部分解密之后,开始第三部分解密,这层解密主要针对被加密文件。第三部分解密:

http://p3.qhimg.com/t01c1f69c4d1bbc6769.png

恢复文件

http://p4.qhimg.com/t01ef021860ff552591.png

图:解密之后的数据,红色部分表示原始文件名,蓝色部分表示原始数据。

针对VirLock系列敲诈者病毒,360杀毒独家提供文件恢复功能。如果用户不慎中招,可以使用360杀毒扫描恢复原文件。

扫描病毒:

http://p1.qhimg.com/t010b55f7270fcd77cb.png

修复文件:

http://p4.qhimg.com/t01320d84c4c14cbc56.png

文件恢复效果示例:

http://p6.qhimg.com/t01e347f03d957c920a.png

亮点之三,勒索金额的变化


在2015年1月,360安全中心发布的第一版VirLock的分析报告(http://bobao.360.cn/learning/detail/227.html)显示,当时勒索的金额,为价值150美元的比特币,当时约0.71BTC:

http://p0.qhimg.com/t011b768924dbbac727.png

而新版本勒索的金额,为价值250美元左右的BTC,按现在的价格,约0.392BTC:

http://p3.qhimg.com/t013331b7337cf10044.png

本文由 360安全播报 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/2923.html

转载请注明:即刻安全 » VirLock敲诈者新变种分析及解密方法

您必须 登录 才能发表评论!



合作伙伴