陌生邮件的附件切忌轻易打开,中招后文件被加密

2019-01-08 来源:原创 作者:腾讯电脑管家
【文章摘要】腾讯御见威胁团队监控到Cryakl勒索病毒变种在国内有部分感染,该勒索病毒主要依靠恶意邮件传播,恶意邮件中包含zip附件,zip中包含恶意宏代码的doc文档,当接收者打开文档,启用宏情况下,便会触发恶意宏代码下载执行Cryakl勒索病毒,病毒将加密文件,并在文件名末尾添加.doubleoffset后缀。

一、概述

近日,腾讯御见威胁团队监控到Cryakl勒索病毒变种在国内有部分感染,该勒索病毒主要依靠恶意邮件传播,恶意邮件中包含zip附件,zip中包含恶意宏代码的doc文档,当接收者打开文档,启用宏情况下,便会触发恶意宏代码下载执行Cryakl勒索病毒,病毒将加密文件,并在文件名末尾添加.doubleoffset后缀。

利用伪造的电子邮件攻击,并将使用宏代码攻击的DOC文档隐藏在压缩文件中,这是很多专业APT黑客组织惯用的套路,现在,一些技术相对较强的普通病毒作者也在用类似手法对付普通网民。

经过分析,在病毒未退出内存时,有希望完成解密。但这种前提条件一般情况下极少遇到,根据以往的经验,绝大多数受勒索病毒攻击的受害者曾经尝试过重启电脑或清除病毒。因此,最终应对此类勒索病毒的正确方法,仍然是建议用户经常性的备份重要文档,推荐用户使用电脑管家的文档守护者进行自动备份,在万一遭遇勒索病毒破坏时,做到有备无患。

以下是详细的技术分析:

二、恶意DOC



附件压缩包内有名为prise list.doc的恶意宏文档,文档内容为空白,当接受者打开文档,并点击启用宏后,文档便会触发恶意宏代码



恶意混淆的宏代码,拷贝PowerShell目录到到Temp文件夹下,重命名为yrwyyuv0文件夹,对PowerShell主程序重命名为aoao0.exe后带参数执行。



混淆参数的PowerShell最终从urlhxxp://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数据使用FGIntRSAEncrypt加密后存放于文件末尾作为附加数据。

2.对Map跳字节方式逐字节提取0x200字节组成Key200

3.加密文件会判断判断文件大小,当小于0xE字节时放弃加密,大于0xE时读取文件末尾0xE字节数据,当读取到文件末尾为{ENCRYPTENDED},则标识该文件已被加密,放弃该文件加密。

4.随机生成5字节的文件密钥FileKey5,该密钥数据被明文存放于文件末尾附加数据中。

5.循环使用FileKey5[Index]+0x100Key200表的Index,对Key200表的前0x100字节进行累加进一步处理得到Key100

6.加密文件0xC350字节数据,由Map[Index*2]是否为0来决定对Key100[Index]进行累加或减的方式逐字节加密文件。


病毒使用QueryPerformanceCounterGetTickCount生成随机值


使用随机数循环浮点运算生成一个1024字节的加密Map(~~~拍脑袋的后缀名??? double:浮点,offset:单字节加密依赖Mapoffset,加密扩展后缀:doubleoffset)


FGInt:RSAEncrypt用来加密Map数据


文件末尾存在{ENCRYPTENDED}标记则代表文件已被加密




被加密文件末尾存放加密后的Map数据和5字节的文件加密密钥数据


关于解密:

通过分析加密流程可知,如果要解密文件,需要拿到两部分关键数据:

1.加密文件使用的Map明文数据

2.文件加密随机5字节值FileKey5

由于病毒最后加密文件完成后,进程并没有退出,所以加密过程使用的Map数据可通过内存获取。

由于病毒未添加ASLR支持属性,所以病毒运行后Map数据地址始终存在进程地址0x41481C处,而文件加密随机5字节值被明文形式保存在文件末尾中。


病毒进程内存地址0x41481C处明文未加密的Map信息


使用内存获取Map数据+文件末尾FileKey5数据验证被加密的EXE数据目测解密成功


实测EXE文件已恢复正常可以正常运行安装

五、安全建议

企业用户:

1、 尽量关闭不必要的端口,如:445135139等,对33895900等端口可进行白名单配置,只允许白名单内的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


电脑管家 V16

全新上线 更轻更快