7月新型勒索软件首个样本——Tycoon的分析测评( 二 )
本文插图
提取后 , 勒索软件映像包含与一个名为“tycoon”的项目相关的三个模块:
本文插图
ZIP存档的内容(左)和反编译的Java模块JIMAGE的结构(右)
勒索软件是通过执行shell脚本触发的 , 该脚本使用java -m命令运行恶意Java模块的Main函数 。
恶意的JRE构建包含此脚本的Windows和Linux版本 , 这表明也针对Linux服务器发起过攻击:
本文插图
用于执行勒索软件的Shell脚本和Java“发布”文件
配置
恶意软件配置存储在项目的BuildConfig文件中 , 并包含以下信息:
1. 攻击者的电子邮件地址;
2. RSA公钥;
3. 赎金说明的内容;
4. 排除列表;
5. 要执行的Shell命令列表
本文插图
本文插图
示例配置值
本文插图
BuildConfig文件的一部分
攻击行为
在执行时 , 恶意软件将运行一组在BuildConfig文件中指定的shell命令:
本文插图
将使用系统UUID值的SHA256哈希值中的前四个字节为每个受害者生成一个install_id值 , 为了获取UUID , 恶意软件执行以下wmic命令:
本文插图
加密路径列表可以作为参数传递 , 或者 , 该恶意软件将生成系统中所有根路径的列表 , 这将为路径列表中的每个项目创建一个单独的加密线程 。
加密过程完成后 , 恶意软件将通过覆盖每个加密路径中的已删除文件来确保文件不可恢复 。 它使用嵌入式Windows实用程序cipher.exe来完成此任务:
本文插图
安全删除原始文件
文件加密
这些文件使用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公钥加密 , 然后保存在块元数据块中:
本文插图
AES密钥生成
添加到每个加密块的元数据包含以下内容:
1. BuildConfig中指定的标头值
2. 块索引(8个字节);
3. 块大小(8个字节);
4. 每块生成的AES IV(12字节);
5. AES GCM标签(16字节);
6. RSA加密的AES密钥方案(128字节) , 包含:
- 【】内蒙古巴彦淖尔市报告1例疑似腺鼠疫病例
- 【】北京确诊病例情况汇总 一图看明白→
- 新资讯|7月顶流剧扎堆,鹿晗吴磊携手,杨洋再搭李一桐,李易峰2部剧领跑
- 科创板日报|7月7日申购,定了!中芯国际IPO发行价格27.46元
- 木星冲日|双星伴月、木星冲日…7月五大天象不可错过!
- 死飞|被撞飞的示威者,死了
- “健康北京”微信公众号|新型冠状病毒肺炎确诊病例如何分型?北京中医医院院长解答
- 东方网|外媒揽要 | 7月5日晚报:西雅图抗议活动中有妇女被车撞后不治身亡
- 第一财经|公告点题|7月5日这些公告有看头
- 北京头条客户端|北京:7月6日起北京尾号限行轮换 周一限5和0