一、概述
近日,腾讯御见威胁团队监控到Cryakl勒索病毒变种在国内有部分感染,该勒索病毒主要依靠恶意邮件传播,恶意邮件中包含zip附件,zip中包含恶意宏代码的doc文档,当接收者打开文档,启用宏情况下,便会触发恶意宏代码下载执行Cryakl勒索病毒,病毒将加密文件,并在文件名末尾添加.doubleoffset后缀。
利用伪造的电子邮件攻击,并将使用宏代码攻击的DOC文档隐藏在压缩文件中,这是很多专业APT黑客组织惯用的套路,现在,一些技术相对较强的普通病毒作者也在用类似手法对付普通网民。
经过分析,在病毒未退出内存时,有希望完成解密。但这种前提条件一般情况下极少遇到,根据以往的经验,绝大多数受勒索病毒攻击的受害者曾经尝试过重启电脑或清除病毒。因此,最终应对此类勒索病毒的正确方法,仍然是建议用户经常性的备份重要文档,推荐用户使用电脑管家的文档守护者进行自动备份,在万一遭遇勒索病毒破坏时,做到有备无患。
以下是详细的技术分析:
二、恶意DOC
附件压缩包内有名为prise list.doc的恶意宏文档,文档内容为空白,当接受者打开文档,并点击启用宏后,文档便会触发恶意宏代码
恶意混淆的宏代码,拷贝PowerShell目录到到Temp文件夹下,重命名为yrwyyuv0文件夹,对PowerShell主程序重命名为aoao0.exe后带参数执行。
混淆参数的PowerShell最终从url:hxxp://vallyxs0.beget.tech/1.exe下载执行勒索病毒
三、病毒1.exe模块分析
Exe本是是个代码混淆的外壳程序,通过在内存中解密执行勒索payload
勒索payload使用Delphi编写,而外壳程序使用C++编写
运行后通过向hxxp://vallyxs0.beget.tech/inst.php页面发送Get请求进一步上传感染信息
同时设置注册表写启动项
加密文件时对Windows目录进行白名单目录放行
同时对指定格式文件采取白名单不加密过滤放行
.com .bat .png .bmp .log .ini .dll .sys
当磁盘剩余空间小于0x3C000字节(240KB)同样放弃加密
文件加密完成后被重命名为指定格式且添加后缀.DOUBLEOFFSET
最后删除卷影信息并弹出勒索窗口
展示出勒索文档信息,勒索信息弹窗,要求联系指定邮箱进一步获取解密工具,该勒索病毒并无直接明确说明勒索金额
四、尝试解密
关于加密:
1.病毒首先生成随机DWORD值,之后使用该值循环浮点运算生成一张0x400字节的加密Map表,Map数据使用FGInt:RSAEncrypt加密后存放于文件末尾作为附加数据。
2.对Map跳字节方式逐字节提取0x200字节组成Key200。
3.加密文件会判断判断文件大小,当小于0xE字节时放弃加密,大于0xE时读取文件末尾0xE字节数据,当读取到文件末尾为{ENCRYPTENDED},则标识该文件已被加密,放弃该文件加密。
4.随机生成5字节的文件密钥FileKey5,该密钥数据被明文存放于文件末尾附加数据中。
5.循环使用FileKey5[Index]+0x100做Key200表的Index,对Key200表的前0x100字节进行累加进一步处理得到Key100。
6.加密文件0xC350字节数据,由Map[Index*2]是否为0来决定对Key100[Index]进行累加或减的方式逐字节加密文件。
病毒使用QueryPerformanceCounter或GetTickCount生成随机值
使用随机数循环浮点运算生成一个1024字节的加密Map表(~~~拍脑袋的后缀名??? double:浮点,offset:单字节加密依赖Map的offset,加密扩展后缀:doubleoffset)
FGInt:RSAEncrypt用来加密Map数据
文件末尾存在{ENCRYPTENDED}标记则代表文件已被加密
被加密文件末尾存放加密后的Map数据和5字节的文件加密密钥数据
关于解密:
通过分析加密流程可知,如果要解密文件,需要拿到两部分关键数据:
1.加密文件使用的Map明文数据
2.文件加密随机5字节值FileKey5
由于病毒最后加密文件完成后,进程并没有退出,所以加密过程使用的Map数据可通过内存获取。
由于病毒未添加ASLR支持属性,所以病毒运行后Map数据地址始终存在进程地址0x41481C处,而文件加密随机5字节值被明文形式保存在文件末尾中。
病毒进程内存地址0x41481C处明文未加密的Map信息
使用内存获取Map数据+文件末尾FileKey5数据验证被加密的EXE数据目测解密成功
实测EXE文件已恢复正常可以正常运行安装
五、安全建议
企业用户:
1、 尽量关闭不必要的端口,如:445、135,139等,对3389,5900等端口可进行白名单配置,只允许白名单内的IP连接登录。
2、 尽量关闭不必要的文件共享,如有需要,请使用ACL和强密码保护来限制访问权限,禁用对共享文件夹的匿名访问。
3、 采用高强度的密码,避免使用弱口令密码,并定期更换密码。建议服务器密码使用高强度且无规律密码,并且强制要求每个服务器使用不同密码管理。
4、教育员工提高安全意识,避免轻易双击邮件附件。在不能确认文档可靠时,勿启用Office宏代码。
5、 对没有互联需求的服务器/工作站内部访问设置相应控制,避免可连外网服务器被攻击后作为跳板进一步攻击其他服务器。
6、 对重要文件和数据(数据库等数据)进行定期非本地备份。
7、 在终端/服务器部署专业安全防护软件,Web服务器可考虑部署在腾讯云等具备专业安全防护能力的云服务。
8、建议全网安装御点终端安全管理系统(https://s.tencent.com/product/yd/index.html)。御点终端安全管理系统具备终端杀毒统一管控、修复漏洞统一管控,以及策略管控等全方位的安全管理功能,可帮助企业管理者全面了解、管理企业内网安全状况、保护企业安全。
个人用户:
1、 使用腾讯电脑管家防御病毒木马威胁;小心处理邮件附件,关闭Office的宏功能。
2、 启用电脑管家的文档守护者功能,利用冗余的磁盘空间备份数据文档。
IOCs
MD5:
f8a8a683e3facd2ab84dfe89b9c579ae
484d61aed83cbabbbbffae6cc4afca86
URL:
hxxp://vallyxs0.beget.tech/1.exe
hxxp://vallyxs0.beget.tech/inst.php