7月新型勒索软件首个样本——Tycoon的分析测评( 二 )


本文插图
提取后 , 勒索软件映像包含与一个名为“tycoon”的项目相关的三个模块:
7月新型勒索软件首个样本——Tycoon的分析测评
本文插图
ZIP存档的内容(左)和反编译的Java模块JIMAGE的结构(右)
勒索软件是通过执行shell脚本触发的 , 该脚本使用java -m命令运行恶意Java模块的Main函数 。
恶意的JRE构建包含此脚本的Windows和Linux版本 , 这表明也针对Linux服务器发起过攻击:
7月新型勒索软件首个样本——Tycoon的分析测评
本文插图
用于执行勒索软件的Shell脚本和Java“发布”文件
配置
恶意软件配置存储在项目的BuildConfig文件中 , 并包含以下信息:
1. 攻击者的电子邮件地址;
2. RSA公钥;
3. 赎金说明的内容;
4. 排除列表;
5. 要执行的Shell命令列表
7月新型勒索软件首个样本——Tycoon的分析测评
本文插图

7月新型勒索软件首个样本——Tycoon的分析测评
本文插图
示例配置值
7月新型勒索软件首个样本——Tycoon的分析测评
本文插图
BuildConfig文件的一部分
攻击行为
在执行时 , 恶意软件将运行一组在BuildConfig文件中指定的shell命令:
7月新型勒索软件首个样本——Tycoon的分析测评
本文插图
将使用系统UUID值的SHA256哈希值中的前四个字节为每个受害者生成一个install_id值 , 为了获取UUID , 恶意软件执行以下wmic命令:
7月新型勒索软件首个样本——Tycoon的分析测评
本文插图
加密路径列表可以作为参数传递 , 或者 , 该恶意软件将生成系统中所有根路径的列表 , 这将为路径列表中的每个项目创建一个单独的加密线程 。
加密过程完成后 , 恶意软件将通过覆盖每个加密路径中的已删除文件来确保文件不可恢复 。 它使用嵌入式Windows实用程序cipher.exe来完成此任务:
7月新型勒索软件首个样本——Tycoon的分析测评
本文插图
安全删除原始文件
文件加密
这些文件使用AES-256算法在Galois/Counter (GCM)模式中进行加密 , 并使用16字节长的GCM身份验证标记 , 以确保数据完整性 。 使用java.security.SecureRandom函数为每个加密块生成一个12字节长的初始化向量(IV) 。 加密块的大小在BuildConfig中指定 , 并设置为10 MB , 而模式设置则指定要在其中处理文件块的模式 。 通过跳过较大文件的部分 , 攻击者加快了加密过程 , 同时破坏文件 , 使其无法使用 。
对于每个加密路径 , 使用java.security.Secure.Random函数生成AES-256密钥数组 。 每个路径的最大密钥数是在BuildConfig中设置的 , 并且在样本之间可能有所不同 。 每个文件(或文件块 , 如果文件大于块大小)则使用不同的AES密钥加密 , 然后使用攻击者的RSA-1024公钥加密 , 然后保存在块元数据块中:

7月新型勒索软件首个样本——Tycoon的分析测评
本文插图
AES密钥生成
添加到每个加密块的元数据包含以下内容:
1. BuildConfig中指定的标头值
2. 块索引(8个字节);
3. 块大小(8个字节);
4. 每块生成的AES IV(12字节);
5. AES GCM标签(16字节);
6. RSA加密的AES密钥方案(128字节) , 包含: