一、样本简介
样本是52论坛找到的
样本链接: https://pan.baidu.com/s/1yRlNwHKSa9F-nHhUiO0BCA 提取码: p498
二、现象描述
点开样本后,会弹出一个文本,里面有一串数字,这串数字是加密和解密的关键。然后电脑CPU会飙升到100%,是因为病毒创建了50个加密线程加密文本。
三、样本信息
MD5值:abca8f0299f6b59111436948e98bdb64
SHA1值:42db06832b7d0afd7b4648fef0e4eece41c804ee
CRC32校验码: 34d1d386
四、样本分析
1)、用IDA打开样本,发现输入表为空的。发现大量乱码字符。估计样本动态解密被加密的函数名,然后用GetProcAddress获取函数地址。先写个脚本解密所有函数名,脚本链接:https://blog.****.net/liuhaidon1992/article/details/103386284
2)、样本解密完所有函数后,通过GetLocaleInfoA获取当前计算机所属国家/地区。对以下四个地区直接结束进程,不加密
3)、删除卷影关闭自动修复
4)、创建名为 YWgnI24wSXPdcEmXd 的互斥变量
5)、创建50个加密线程A用来加密文件
再创建一个线程B,用来创建几个文件
6)、线程B行为如下
收集当前电脑的信息
计算以下关键数据
具体计算方式如下:
通过函数QueryPerformanceCounter 获取时间并保存
然后经过以下计算,循环计算数据
关键计算如下
计算完所有数据,将数据组合起来,每一段数据中间加0x57用以隔开,最后加一个0x00
最后保存这些数据和之前收集到的电脑信息到 temp000000.txt,并打开
创建勒索文件 _RESTORE_FILES_.txt
7)、加密线程A会一直等消息,直到B线程执行完成后,才会开始遍历磁盘,执行加密算法。
具体加密行为如下
1.先更改文件名,在后面加后缀“.id_3458260825_.WECANHELP”
2.将线程B计算得到的偏移94处的前8个字节数据与明文前8个字节相XOR,结果覆盖前8个字节。
3. 连续进行三次des加密,**在地址0x411238处
重复第二步和第三步,不过第二步XOR的数据,变为第9到第16字节的数据与第1到8字节的数据,结果覆盖第9到第16字节的数据,之后的计算,就这样每8个字节为一组,分别与前8字节进行XOR运算。
之后经过函数0x40a464处理,此函数主要分为三步
第一步:
第二步:
第三步:
至此加密完成,再调用WriteFile写入文件中。