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

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

前言

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

基本信息

MD5:D832508B53BB3B55C2288F23B4FB6C2C

大小:850944字节

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

行为简述

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

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

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

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

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

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

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

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

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

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

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

可执行文件:EXE、SCR等。

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

病毒发作之后截图

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

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

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

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

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

图:附近ATM的位置

相对上一版本的亮点

亮点之一:代码执行

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

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

流程大致如下:

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

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

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

(D)执行STUB,清空STUB;

(E)循环执行(B)。

其中STUB的代码如下:

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

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

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

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

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

指令表:

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

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

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

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

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

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

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

顺序表:

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

解密方式也是XOR。

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

部分数据如下:

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

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

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

亮点之二:数据解密

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

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

第一部分解密:

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

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

第二部分解密:

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

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

第三部分解密:

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

解密方式:XOR,ROR

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

恢复文件

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

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

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

扫描病毒:

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

修复文件:

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

文件恢复效果示例:

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

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

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

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

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

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

* 企业账号:360安全卫士,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

发表评论