HanDs
管理员

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





学习中请遵循国家相关法律法规,黑客不作恶。没有网络安全就没有国家安全

本站需要登陆后才能查看

前言

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

基本信息

MD5:D832508B53BB3B55C2288F23B4FB6C2C

大小:850944字节

1.png

行为简述

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

2.png

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

3.png

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

4.png

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

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

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

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

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

可执行文件:EXE、SCR等。

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

病毒发作之后截图

5.png

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

6.png

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

7.png

图:附近ATM的位置

相对上一版本的亮点

亮点之一:代码执行

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

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

流程大致如下:

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

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

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

(D)执行STUB,清空STUB;

(E)循环执行(B)。

其中STUB的代码如下:

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

8.png

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

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

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

指令表:

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

9.png

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

10.png

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

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

11.png

顺序表:

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

解密方式也是XOR。

12.png

部分数据如下:

13.png

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

14.png

亮点之二:数据解密

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

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

第一部分解密:

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

15.png

第二部分解密:

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

16.png

第三部分解密:

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

解密方式:XOR,ROR

17.png

恢复文件

18.png

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

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

扫描病毒:

19.png

修复文件:

20.png

文件恢复效果示例:

21.png

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

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

22.png

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

23.png

* 企业账号:360安全卫士,


学习中请遵守法律法规,本网站内容均来自于互联网,本网站不负担法律责任
VirLock 敲诈者新变种分析及解密方法
#1楼
发帖时间:2016-7-30   |   查看数:0   |   回复数:0
游客组
快速回复