一、 样本信息
文件名:locker.exe
MD5:50B24D51CE8CB305AD0D923EC2D17473
SHA1:4367150520A626994A326F4706F372D8E6FF92D8
二、 样本分析
chchbuy勒索病毒执行的主要流程为:
(1) 删除卷影;
(2) 生成salsa20全局密钥key_user;
(3) 导入攻击者RSA公钥加密key_user;
(4) 清空所有磁盘回收站;
(5) 搜索可加密文件;
(6) 为每个文件生成salsa20加密密钥key_file;
(7) key_file加密待加密文件;
(8) key_user加密key_file,写入已加密文件尾部。
(9) 修改加密后文件扩展名为.megac;
(10) 结束加密。
1. 删除卷影备份
静默删除卷影,调用vssadmin.exe的路径为C:\\Windows\\sysnative,使用这种方式是防止32位程序在64位操作系统下发生重定向,从而导致vssadmin.exe调用失败。但是在32位系统下使用sysnative的方式调用vssadmin.exe会返回ERROR_PATH_NOT_FOUND,即调用失败,卷影也就删除失败。除此之外,vssadmin.exe删除卷影需要管理员权限,如果病毒执行前未提升至管理员权限,卷影将不会被删除,而chchbuy勒索病毒本身也未有提升权限行为。
2. 密钥生成用户ID
病毒会调用Windows CSP CryptGenRandom API生成256位随机数作为全局密钥key_user,用以加密文件加密密钥。接着导入硬编码在病毒内部的攻击者RSA公钥,加密key_user。攻击者RSA公钥长度为512字节(4096-bit)。
加密后的key_user经Base64编码后作为用户ID,并储存于生成的勒索信息提示文件中。
RSA公钥为Windows CSP公钥格式,Base64编码后内嵌在病毒内部。公钥格式可见:
https://docs.microsoft.com/en-us ... bs#public-key-blobs。
3. 搜索文件进行加密
病毒在搜索可加密文件时,对网络资源和本地磁盘都进行遍历。搜寻过程中为每一层目录单独创建1条线程进行可加密文件搜寻和加密。
遍历本地磁盘,调用GetLogicalDriveStrings获取本地可访问磁盘,分别创建线程搜索和加密。
枚举所有网络资源。
搜索目录时不对含有以下字符串的路径进行搜索,主要为系统目录、用户和应用程序目录,以免加密指定路径后影响后续用户支付赎金。
:\\ProgramData
:\\$Recycle.Bin
:\\Program Files
:\\Windows
All Users
AppData
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyy
对于搜索到的文件,除勒索信息提示文件READ_ME.TXT外,其他所有可访问文件全部加密。
4. 文件加密方式
Chchbuy为每个待加密文件生成32字节随机密钥key_file,初始向量iv为常量字符串”\xad\xde\xad\xde\xad\xde\xad\xde”,采用对称流加密算法salsa20。
加密时读取待加密文件到内存,loker最多只读取文件首部4096字节(4Kb),即目标文件最多被加密首部4kb内容。文件内容加密完成后,使用全局密钥key_user加密文件加密密钥key_file,同样采用salsa20加密算法,iv与文件加密时相同。加密后的文件加密密钥key_file置于文件尾部。
最后为文件添加扩展名.megac。
文件加密代码如下:
文件加密流程和加密后文件结构如下图:
5. 勒索信息
Chchbuy会在每一个可加密目录下放置勒索信息提示文件READ_ME.TXT,文件中的ID由攻击者RSA公钥加密全局文件加密密钥加密密钥并进行base64编码后生成。
文件中告知用户联系攻击者的方式是发送一张测试用的图片或是文本文件到邮箱megacrypta@protonmail.com,攻击者恢复接收到的被加密文件并发送回用户后,将会与用进行赎金的磋商。
|
|
|
|
评论
直达楼层