近期泄露的Hello Kitty勒索源码分析

近期泄露的Hello Kitty勒索源码分析

事件背景

2023年10月7日,在俄罗斯著名黑客论坛XSS上,一个名为kapuchin0的用户发布了HelloKitty勒索的源代码,并声称他们不再需要这个,打算开发出优于LockBit勒索的新产品。

HelloKitty勒索家族由来已久,最早出现在2020年11月,因勒索程序中互斥锁的名称为“HelloKittyMutex”而得名。在2021年2月,其攻击了著名游戏制作公司CD Projekt Red,并声称窃取了包括《巫师3》、《赛博朋克2077》在内的多款游戏的源代码,由此声名大噪。

公布的勒索源码,一方面很有可能会快速被其他勒索犯罪团伙利用和改造,另一方面同样有助于安全研究人员分析和了解此类勒索软件的运行机制和原理,增强针对勒索攻击的防御和检测能力。因此,安恒猎影实验室第一时间进行响应,针对源码进行验证和分析。

Hello Kitty勒索源码分析

此次泄露出的HelloKitty的源码,使用VSStudio进行项目管理,文件夹目录如下图所示。

生成的结果文件如下所示,decoder.exe为解密程序,inn.exe为加密程序,ntru256gen.exe为NTRU公私密钥对的生成程序。

以下分别对源码中的三个项目进行验证分析

密钥对生成程序分析

Hello Kitty勒索使用了AES和NTRU加密算法组合的方式。NTRU是基于格密码学的一套公钥密码加密系统,由于NTRU运算简洁快速,与目前广泛使用的公钥密码系统RSA及椭圆曲线密码系统相比较,在安全要求相同的情况下,NTRU产生密钥对更快,在加密和加密效率上也具有一定的优势。

运行ntru256gen生成程序后,会生成1000条公私密钥对文件,文件截图如下:

攻击者在加密程序中使用密钥对中的公钥对AES密钥进行加密并写入文件尾部,NTRU的私钥则用于赎金支付后的解密。

加密程序分析

加密程序的主体代码位于“Encryptor.cpp”文件,在DoIOCP()函数中完成加密程序的主要功能调用,利用IOCP模型,可以大幅提升I/O效率和并发量,是勒索软件中常见的开发方式,并且检测硬件是否支持AES加密,设置线程数量为处理器个数的2倍。这些操作目的都是为了更快速地进行文件数据的加密。

在加密前有一些预处理操作,例如删除卷影副本、清空回收站等操作。调用WMI命令来删除系统上的卷影备份:

之前安全研究人员分析出HelloKitty勒索样本使用stop和net.exe命令终止包括MSSQL、QuickBooksDB等多个进程。泄露的源码中,该部分函数代码已被注释。

此外,通过进程名和PID比较来终止大量的指定进程,进程名称放置在项目中的processnames.h文件中。部分内容如下图所示,其中有一千多个指定的进程名称。对于正在运行的资源文件,还会调用Rstrtmgr.dll等来执行Windows的管理器会话程序来释放资源。

在HelloKitty勒索运行时对文件夹名称和文件名进行判断,对特定的文件夹和文件名称跳过加密,以保证操作系统的正常运行,对应源码中的配置如下:

在匹配到上述的目标字符串时会跳过当前文件夹/文件,避免执行后续加密流程。遍历时,将文件路径传递给EncryptFileIOCP()函数,首先对文件大小进行判断,忽略小于1MB的文件。

在该函数中创建一个名为_over_struct的结构,该结构中包括加密目标文件所需的信息,例如句柄、文件大小,文件路径信息等。_over_struct的结构如下:

函数ReadWritePoolThread()中根据接收到的指令,对文件进行读写和加密操作。

在加密数据后,使用NTRU算法将AES密钥和IV信息进行加密,并写入加密文件的末尾,便于解密时提取。结束加密后,更新文件名称,添加后缀名.kitty。

下图为加密程序的演示效果,inn.exe为编译完成的可执行文件,运行时在终端显示运行过程,加密文件后释放勒索信文件read_me_lkdtt.txt。

此外,对于HelloKitty等勒索病毒,安恒EDR能够实时检测勒索攻击威胁,进行拦截和防护,保证用户和企业的安全。

解密程序分析

解密程序decoder.exe执行时会遍历磁盘文件并移除勒索信:

在执行解密前,程序会首先读取文件末尾的数据字段,HelloKitty勒索在加密文件时会在文件末尾留有特定的十六进制作为加密标识,表示该文件被加密。

在源代码中的enc-struct.h头文件中同样可以看出该标识:

在解密过程中导入NTRU公私密钥对,提取加密文件末尾加密了的AES密钥信息,通过NTRU算法可以得到解密的AES密钥,进而恢复原始文件。

对上面加密程序的示例文件进行解密,能够顺利得到原文件。

思考总结

此次HelloKitty源码公开泄露在黑客论坛中,并且泄露者表示发布的原因是将会开发出更优的勒索软件,推断可能是内部人士公布的信息,并且已经为下一代勒索软件的开发做好了准备。从声称的内容上进一步猜测,HelloKitty组织很可能对标LockBit勒索组织,摒弃了之前的勒索软件,目标是开发出新一代具有更强的反检测和抗逆向分析能力的勒索程序。

在勒索攻防博弈环境下,勒索组织之间也存在竞争和学习,以更有效率地进行攻击和攫取利润。随着近年来源码泄露事件的不断发生,勒索威胁呈现出攻击手段愈来愈复杂化、勒索家族多样化、高频率勒索攻击的态势。这同样要求对抗勒索攻击需要与时俱进,不断研究和掌握勒索攻击者的最新战术和技术,有效减少勒索攻击对个人和组织造成的损失。除了加强安全防护措施和增强用户、企业的安全意识外,还需要完善法律法规,打击勒索活动的非法行为,从根源上遏制勒索攻击的发生。

防范建议

  1. 及时备份重要数据。
  2. 不随意打开来源不明的程序。
  3. 不访问未知安全性的网站等。
  4. 使用合格的安全产品
  5. 定期检查系统日志中是否有可疑事件
  6. 重要资料的共享文件夹应设置访问权限控制,并进行定期离线备份, 关闭不必要的文件共享功能

7.不要轻信不明邮件,提高安全意识

目前安全数据部已具备相关威胁检测能力,对应产品已完成IoC情报的集成。

安恒信息产品已集成能力:

针对该事件中的最新IoC情报,以下产品的版本可自动完成更新,若无法自动更新则请联系技术人员手动更新:

(1)AiLPHA分析平台V5.0.0及以上版本

(2)AiNTA设备V1.2.2及以上版本

(3)AXDR平台V2.0.3及以上版本

(4)APT设备V2.0.67及以上版本

(5)EDR产品V2.0.17及以上版本

安恒信息再次提醒广大用户,请谨慎对待互联网中来历不明的文件,如有需要,请上传至安恒云沙箱https://sandbox.dbappsecurity.com.cn,进行后续判断。

安恒云沙箱反馈与合作请联系:sandbox@dbappsecurity.com.cn

Comments are closed.