首页 > 安全资讯 > 正文

Kann勒索再度活跃,360成功破解

Kann勒索软件再度活跃

近期,360反病毒团队在监测过程中发现了一款勒索软件开始活跃,其变种名为“.kann”与“xmrdata”。该勒索软件采用了较为复杂的混合加密策略,利用RC4与AES算法对受害者文件进行加密,并通过RSA算法对上述密钥再次进行加密,以此进一步提升了数据解密的难度。最后,勒索软件会将加密后的文件统一添加“.kann”扩展名。

而值得注意的是,虽然该勒索组织自认为在密钥管理上非常稳妥,但实际上存在一定设计缺陷。故此,研究人员通过对加密流程的逆向分析与算法优化,发现可以尝试利用当前GPU或高性能CPU的算力,对加密文件进行密钥暴力破解,从而在较短时间内实现文件解密。这一发现为受害者带来了一线希望,也为防御和应对类似勒索攻击提供了有价值的参考经验。如果有该勒索软件的中招用户,也可以联系360反勒索服务进行解密。

样本分析

样本概述

下图展示了该勒索家族加密数据的基本流程,包括使用混合加密方式通过RC4和AES算法加密文件,再使用RSA对密钥进行加密,以及最终对被加密文件添加“.kann”扩展名等主要操作:

图1. 加密流程示意图

密钥与加密

勒索软件运行后,会分两次生成两份共42位的随机密钥。

图2. 生成AES密钥

图3. 生成RC4密钥


下图则给出了被Kann勒索软件加密后的文件数据内容结构:

图4. 被加密的文件数据结构示意图

在完成了密钥生成及传入工作之后,勒索软件便展开了核心的文件数据加密工作。其首先会使用RC4算法对文件内容进行加密:

图5. RC4加密文件

完成后,再用AES加密之前被RC4加密后的前2000字节(数据尾部利用0x16字节的0x0数据进行分隔,所以传入的待加密缓冲区长度为0x7E0)。

图6. 使用AES算法二次加密文件头部数据 

完成文件数据加密后,勒索软件再使用RSA 对生成的密钥以及用户机器名拼接进行加密,本轮加密还具有以下三个特点:

a)     算法初始化
调用'BCryptOpenAlgorithmProvider'打开加密算法提供程序。

b)     密钥导入
使用'BCryptImportKeyPair'导入密钥对。

c)      加密操作
调用'BCryptEncrypt'两次:第一次获取输出缓冲区大小,第二次执行实际加密。

图7. BCryptEncrypt加密代码 

而根据待加密文件的大小,勒索软件会做出如下不同的处理方式:

l  小文件(<2MB)跳过不加密

l  中等文件(2MB-100MB)作为整体一次性加密

l  大文件(>100MB)分块处理,每次加密100MB

勒索软件内置的RSA 4096公钥数据如下:

图8. 勒索软件内置的RSA 4096公钥 

最终,其会尝试结束一些特定的敏感进程并判断父进程是否为特定进程,如果不成功,则勒索软件会主动退出:

图9. 勒索软件尝试清理并检测运行环境

其完整的检测列表如下:

表1. 勒索软件环境检测字符串列表

同时,勒索软件还会排除特定目录和特定扩展名,不对其进行加密。其中,Kann勒索软件会排除另外两个勒索加密的扩展名,分别为.Lock(Zyka勒索家族)和.DEVOS(Phobos勒索家族变种)。通过研究,我们发现这样做的原因竟然是这两个勒索和.kann使用了相同的入侵方式,有时候会抢先一步加密文件。

最后,Kann会检查被加密路径是否包含以下字符串(不区分大小写)并进行排除:

l  C:\\Windows

l  NVIDIA

l  Intel

l  VMware

l  Inetpub

l  Windows Mail

l  .kann

l  .Lock

l  .DEVOS

l  Visual Studio

l  常见扩展名(.exe, .dll, .sys, .msi) 

收尾工作

在完成了核心的加密工作后,勒索软件会采用多种方式删除磁盘卷影副本,并禁用系统的启动恢复功能:

图10. 删除卷影以及禁用恢复

之后,会以/w+盘符为参数来调用系统自带的cipher程序。该命令的作用是擦除磁盘驱动器盘符上所有已删除文件的数据空间。

图11. 调用cipher工具彻底清理被删除文件

因为在Windows系统中删除一个文件时,文件的内容实际上并没有立即从磁盘上抹去,只是标记了该空间可以被重新使用。而调用上述这个cipher命令的/w参数(wipe),可以通过用随机数据覆盖这些“已删除”的文件空间,以此来对抗受害者后续可能进行的文件恢复工作。

图12. 被调起的cipher工具 

最终,Kann勒索会释放勒索信来通知受害者交付赎金:

图13. 勒索软件释放多语言的勒索信

被释放的勒索信中,留下了攻击者的邮箱及受害用户的ID信息。以此来让受害者根据这些信息与攻击者进行联系并谈判赎金金额。

图14. Kann勒索信内容 

而此处还发现一个颇为有趣的情况——在该勒索软件留下的勒索信息中,除了通常的英语和当前受害系统对应的中文外,还发现了一份俄语的勒索信息。

图15. Kann勒索软件留下的俄语勒索信息 

数据解密

经安全研究人员分析发现,该勒索软件在加密过程中存在一些技术漏洞。这也就意味着我们借助受害用户手中的“民用设备”,尝试对被加密数据进行暴力破解成为可能。

我们借助手中的NVIDIA GeForce GTX 1660 Ti显卡进行测试。发现虽然此款显卡在当下并不算高端,但最终的测试结果依然令人颇为满意——仅用了不足十分钟便成功完成了解密。而对于没有独立显卡的受攻击设备,也可以调用其CPU尝试破解。虽然CPU进行此类运算会明显慢于GPU,但Intel i9系列CPU也在我们的测试中用了2个多小时便成功完成了解密,这个时间依然是可以接受的。

图16. i9处理器用时2个多小时成功解密 

目前360解密大师也已经支持了解密.xmrdata和.kann加密的文件,并且我们也已使用解密大师成功解密了向我们求助的两位反馈用户的被加密文件。

图17. 解密大师成功帮助受害用户解密数据

安全建议

尽管本次针对.kann勒索软件的加密缺陷为数据恢复提供了可能,但这并不意味着可以对勒索软件的威胁掉以轻心。面对逐渐进化的勒索攻击,企业和个人用户应持续加强自身安全防护。

针对勒索攻击,我们给出如下建议:

1.      定期备份数据
建议将重要文件定期备份,并确保备份数据存放在物理隔离的设备或云端,避免因主机感染而导致备份文件也被加密或破坏。

2.      及时更新系统与软件
保持操作系统和常用软件的最新补丁状态,及时修补已知漏洞,减少攻击者利用安全漏洞入侵的风险。

3.      提高安全意识
警惕可疑邮件、未知来源的下载链接和附件,避免点击来历不明的内容。同时,建议关闭不必要的远程桌面服务,或采用强密码与多因素认证等安全措施。

4.      建立应急响应机制
发生异常情况时,及时断网隔离受感染设备,保留相关日志和样本,第一时间联系专业安全团队处置,切勿盲目支付赎金或随意操作感染文件。

5.      安装可靠的安全软件
选择并安装具备勒索防护功能的安全软件(如360),定期进行全盘查杀和实时监控,及时发现并阻断异常行为,提升整体防御能力。

360安全卫士

热点排行

用户
反馈
返回
顶部